{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cdb213d4",
   "metadata": {},
   "source": [
    "## 基本概念"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUcAAAEnCAIAAAC13xZmAAAgAElEQVR4Ae29f2wb15kuTBerDWss1oyBtcx2DZvozQKsjV23LBZZ7j9bdfMlELpBI+MK12IvkIRrFhbj28DERW8j++Jem+hFZaYOTMoCLdIXtT1ebRzKH2BR7cainNQaMoYoSoDFkfCtSbpda+wakcZSLc0YhTQfzrzkyxF/SJREURR1CEI6nDlzzpln+PA95z3vD42c9xIzr7wz9ABFgCKwBRDQFByjKIoFj9ODFAGKQPUjUJjVM7NzsixTblf/86MjpAjkI1CY1cBnyup8vOgRikD1I1CY1TzPU0pX/8OjI6QIFESgAKtFUXS5XDzPF7yAHqQIUASqHIECrA4Gg2az2ePxCIJQ5aOnw6MIUATyEVjCalEUBUGwWCy76+vNZnN8bJTOw/Mho0coAlWOQJbVsEsdCoWMRmPdjjqtVltQXFOeV/kTpcOjCGRZDVtZFotFp9NptVqNRmMymTiOoxhRBCgCWwuBNKtBAgeDQaPRqFVeGo0GxTWVz1vrodLRbnMEsqwWRREEdd2OuroddcBqurre5t8PevtbEYHsDHzw8wFYUQOr4a9Wqz3/0QW1MpzK7a34mOmYtxUCaVYLgmCz2XQ6nUajUbO6bked2WyORqPbChR6sxSBLY1AmtWg+tZqtagq02g0UNZqtS6XSy2ut/QN08FTBGoegTSrQVDvrq+32+36ffthXW2xWEwmk1arNZvNHMe9EIm/B7xqHhd6gxSBrYsAYTWovo1Go8vl4jjOZDLBfnUwGAyFQg0NDXr9Xti7zpCa+mlu3SdOR177CGjAmKyxsdHr9fI8PzM7ZzKZYPoduTckiiLLsjabraGhgeM4QRCorK79LwW9wy2OgCZyb6it7VQwGAR3DmA1KMyA1bIscxzX1naKYRjq8rHFHzcd/rZAgLA6Go3OzM7h7BrW0lqtFlgNx5PJJMuyEE1hWwBDb5IisGURIDNw5DMUYAZet6Mucm8IzEhhj1oQhBei/IKuqbfsw6YD3yYIaIDJGM9IFEXQliGrEQgkPx6hBYoARaAKEUjvbOHIlmE11qEFigBFoJoRKMxqjfKCGXg1j56OjSJAEchHgLI6HxN6hCKwtRGgrN7az4+OniKQjwBldT4m9AhFYGsjQFm9tZ8fHT1FIB8Byup8TOgRisDWRoCyems/Pzp6ikA+ApTV+ZjQIxSBrY0AZfXWfn509BSBfAQoq/MxoUcoAlsbAcrqrf386OgpAvkIUFbnY0KPUAS2NgKU1Vv7+dHRUwTyEaCszseEHqEIbG0EKKu39vOjo6cI5CNAWZ2PCT1CESgPAqIs47s8LZbWCmV1aTjRWhSBVSKAfMbCKhtYe3XK6rVjR6+kCCyDAJIZC8tULu8pyury4klbowgsQQApXckonpTVS54B/UARWBMCSN41XV3uiyiry40obW/bIYCUzilsGhCU1ZsGPe14iyNQjMM5x+FjRe+VsrqicNPOagUBNXWL3ZO6TkW5TVld7JHQ4xSBYgio6VqsTua4tJrKmYvW+Z+yep0A0su3GwLI0twbxxNYUBmhwLHcSzboM2X1BgFLm61VBFSczdwiHhJkmZ+VBTn9Tu9mSaIM70z9jf5PWb3RCNP2axEBMq9Ov9SUHuIX+kb42OQ8EDsjoLFK5poN/k9ZvcEA0+ZrCgHkZ5rV+JmXFmOT8+4+ro2JuPs4JLawGbdPWb0ZqNM+tyQCSOHs6EEm89Li3Ykn7j7O7mOtnlDrpVDXQCIuSCixsxdUpERZXRGYaSe1iACwPPFcujvx5OLNyHHPLasnDO9TlweZ8IPEc0JsqFZJACirK4k27at2EEhTWljsG+HPXB90XPxV66WQzRuFd+ul0Fnms7sJAVhd4dumrK4w4LS76kIAZ9WrkqjTkjwtyYnn0o0v+DYm8qPzA8hnqydk9RBKM+EHqSlxVc2WCxrK6nIhSdvZkgjksDqr2i5+N6JMKB2bnL/62cO2a8M2b/SdDg7edh973HPrLPNZ3wgP028qq4sDSc9QBDYGgRxW53aSt9WMlO4aSDg675BVtI+z+jiLe9zmjTo677TfjPWPTyelhc1SlcmyTGV17nOkn7cVAmpWF7hxZLWUnkvz0mIk+dzdx530hZXJdprVVh/X6h9pvxm7mxB4aVFQ5PmmTL8pqws8R3qIIpBFIMNq4GdSWugfnz7XO37SFz7mZ4/5WVxOH78y0d6XQEqjoN4UYlNZnX2CtEQRKIaAIBPdWN/9ydOfjNp9WTIDq09cGfXdfXw7NT+5uMRcNENp+F/Kmr1Y/6s7Tlm9Orxo7VpEAFlXuEAoLSz2xPi2a8NWTxjlMxQczHDXQOI3j+XJRfLOaSKzXQ2HKwQeZXWFgKbdVCsCOTRcIlHhHPdsgYk8Bkpb/DF8H/OzbdeGmSgfFyReWoTl9JLryT2r268QBpTVFQKadlOVCKgply2/EOUXIqHj5KI8xC90DSTsPtbuY5HPFn/M6gmf/mT0VnxKtYMl5d1jtk2F3nnnN+YAZfXG4Epb3RoI5LCOfMRDvLQYnpxv70u0+kda/SNqSh/zs+19iU8fTCWlBaifkcnq28aWsKA+u4FlyuoNBJc2XfUIIN9IQf0h8VzqH58GSh/tGIZNafjb6h851zuOujFRlhRKo9obb1rdXt7EHGttQIGyegNApU1uGQSyxIMSUBPU3WcZYjfW4ueOdgwf7SBlYmfCDPvYRHhyXrWKVl9aUfYWg5myuhgy9Pj2QgD4LMgy0Y1F+bPM8DE/a/VxRzxk7t3qHznmZ0/6wkzkcezLQkERpGlZmq7k4nmZx0NZvQw49NQ2QgBYPTpNKO1gyA4WLKSPeEZaOojNSRsTufFF2rp7qUTOCvwqwYuyukoeBB3GZiIgKpHG4oLkG5hAu7EfXIj84ELEenUCpHRPLE3p7EAzlmfZI9VRoqyujudAR7GpCExLMvtoJmPdnZbSIKuP+dlzveOF1N1ZEQ07YZt6B0s6p6xeAgf9sG0QyHJyWpJB3X3Mzx7tGG7xc/C2esI/8d3u6B2G4AdLo5pkL8/saS2dlW8qjpTVmwo/7byyCCAX06F8JZGfle9OPGm/SfRhRzwjTV0cvC3+GNGNDcTHHvzHiyoibEl4UVaXBBOtVBsIIKuhwM/KfSN8+01iKAbbV2lB3RF23BjrGkiQYCZkG3uLvSirt9gDo8NdJwKCJJK34oNF4hMpwUxgLzptauIJtzERJkp0Y+pfgXX2W8nLKasriTbtqzIIqMm4RNISySuK0xKx7vbdfXziyqh6IW3zRq2e0JnrgxCfaMmVlRl4mXqhrC4TkLSZKkJAzercYQkyCTnm7k+B3dhb/tRb/hSZeHeEW9397TdjoTj/ZH5+61KaxkLJfeT0c00gUJTV0xLRjbn7SDSiI51jQOm3/CmrjwTo7+gdjiSfT0ubEMG7vLBTWV1ePGlrVYcAUvzJ/Hwoznf0Dtt9ZAcLKd3iJ5TuGkiMPpxWKJ3vUFl1N7X8gCirl8eHnt3aCCClU1NiaOTRmcDQSV/4aFfkaFcEdrBa/ByJTzQwMfpwGitv7XumMUa3+vOj418GAYjFPy3JcUH6F3bM9fFdu49t6SCbWLCDdbRj2HFjjIk8Tk0RFVrNvKisrplHSW9kCQLogzU6vXD1s4c/8d1udffnbkozw2DdrejGUFSTAnxY0uLW+UBZvXWeFR1pyQiAt4Ygkx0sdx/n6LwDEflJ/IOrExZ/rMV9p+3a8K34FD9LdGPE6hNdNZTc1JTVJYNNK1IENhIBtbTlpUWM3Y1RQa0+soNl9YQhwwYvLeZJ6Y0cX6XaprK6UkjTfiqCABA7KS3cTQjtN2PveQaJbYmSNMfqI1FN7D7W3cexj2ZgBysroisyvMp0QlldGZxpLxVCYFqSU1Ni3/3J9psxnHVb3OMtl1MW9ziE449NkmAmREqrZt1qOV+hsW5YN5TVGwYtbbiyCAAt44LUE3tIEkqT1HYkoTSktrO4x49fmbgeE0anSV47qIysVlN6yanK3kK5eqOsLheStJ2yI1CAa7l9ZIQtqMe4Z8S626FEESQGoR0k/kGrf8TqCZ+8zt2Kk0C/m5J6NnfYG/yZsnqDAabNrxGBfEoriq2c1jKsFmR5dHrB3Z9q9Y/AXvSRzjFYTr/9Yd9ZZhiyzxZqIqfFWvhIWV0LT7Gm7wHpXfQuIUf8xV+TDBtoYdLi50hyaZW6WyjaQK2doKyutSe6re5HkOWktBBJPr/460TrpZDVE271j2D47vc8g+4+LqbE7k6vlrcHOpTV2+M51+BdksgHSWmhe+zZmd6UkiM+na0SRPRJX9g3MDHME4eNWrIGLeVJUlaXghKtUyEE0MIr258kk4w3eW9RlhLPJaA0ZsBKhzTxhE5dHmQG4nFBSqu7s8l2sg3XcImyuoYf7pa8NSB2duhL+YyLbI6f6ok9PHFl9IdXScwDmHUf87PH/OyZ64M9g8nUFBHm6bV0RqmWbbamS5TVNf14a+7mgKhxQWLCD076yMYVhgQ95mff/rDvzPXB/vFpdcgx3JQmhe3xoqzeHs95690lSuW0ngvdKof4hXO942AKig6VVk/Y7mPV1t3bSj2W83gpq3MAoR+rAAGcMCsFmJODbuxWfKq9L/Hjy/F3Ojh4w1q69VLI3cdFks8zDhtVcBebNwTK6s3DnvZcDAEVq5HSiefSrfjU6U9GrZ7wOx3cu12pdzrIjnTrJaIb8w1MIKW3yzy7GHo0FkpxZOiZzUBAxWdZEpHSaevuwJDdx1rdMYt73NL50OrjWt39Z5nPmIF4bHJ+mSiCOJvfjFvahD6prN4E0GmXJSIAujHu2cK1kdSZwBB6a4DDhs0bPct8plZ3p9mbl22Dslo0mUwa5RW5N1Qi+rQaRaC8CAAPJxfT4fjbrhG/aAx+0NJBDE5OfzLaN8LjDhZcknHH2m5EXgI/ldVL4KAfNhsBwkak9G8ey8Rh42Is+1YcsKye8LnecRKfSFoEea4iMRahsNk3tBn9U1ZvBuq0z+IIwFp6clG+8+iP7X0JsOtOBzNxx6zuGOxg3U7NJ6WFHAYrerKcY8V7qt0zlNW1+2yr4s6QYyWNBijNS4ufPpg61ztOXKN9HNGNKW+bN3rSF3b3cXcTAkjpqlJ3V0/2TMrqkr5ttNJaEViB1S9EGbNDi2I6VWVP7GH7zdiJK6MWf+xI5xi8Lf6YgxnuGkiAwwa0u9ZRFb1uDcyEjHzwt2i7lT1BWV1ZvGlvxRGYlmTu2QIT5U9dHmy9RIIT2bxRMPC2+pQMG3cfx75U72BtlKhWc7tYWX0fVUVpmj1P/WhoeTMRmJbkhLDoYxMOZtjqSftUArEtvxj84Fr8ekwAHyzihrVhPlgoeEmI8Lwdss0EaDV9U1m9GrRo3XIjgKYjscl538AEWUhfnQD53OofgYTSEI4fQo4pnpXEVEVxxyp/dJMcJsNHtSjOqSDL8szsXLlRWW97lNXrRZBev0oEcKWdFri8tBienO8K3m+9FAJvDfgLwQ/O3eD6x6dRN5an5V5l58Wr55BTFMX42KjX6516yqsvUrNaFEWe510uV04ddf1NKVNWbwrs27bTLKVfiMT5GdXdYGTScjn1fd8DEnJMSSh9rndcnVA6j9LlXFerxbIoiizLNjU1mUymfGLDwwNKO51Oo9Fot9s5jlMTfnMfMGX15uK/rXpfQukXogwOG86PJ475WZL7ys/h+8eX4xd/naPuzl6eMSArG3pISJhsB4PBpqYmnfJqaGhgGEYQcmf7yWTS6XQePHS4bkfd7vp6m82WTCbLNqD1NURZvT786NWlIpDlJOxmJYTFvvuT4IOlprTVx528zvkUdXc6PhHpIns5Gp+VUVLnsJphGL1+b92Ouroddbt2ahsaGgKBgCAIMPIXogwTb6PRuGunFqqZTKZoNFoqGBtcj7J6gwGmzechIMgyNyn2xPgzgSGU0m/5U2/5U1Z3DNTd3LNMOH7w4lKxWs3vvLbLc4DjOJvNptPp1MQOBoMzs3Nk4SAIXq/XbDbDWa1WazAYnE5n9ayuKavL8z2grRRGQO1ZqQhcoLRvYKKNiVg9oRb3HbWg/uBavCfGY4aNQgvp7KZWGWV1/uA5jrNYLCiK9+j2NDY2siwrimKgu/vgocNarRacoHbX17e1naqe6Tfdr85/mvRIWRFIS1piQAZJc8KT85hQGoIHtnSESfbZqxNnelMk8oGSUJoI5PR2sVo2p4mMh8o6VuyRbFaBDry5uRmoq1VeDQ0NXq/XaDSClIYVtcPh4Hk+M9ryjmiNrVFZvUbg6GWrQgDU3bdT8+19JMMG+lRiwd2fwuyzuaRFgZ/pMrdC5vg6/6v3paEplmUbGxv1+/YDt3U6ndFoRJ7rdDrQfq+z37JfTllddkhpg7kICHJa3X26hyNJ7TK6bqB0GxPxDUxAMJPcKzf7syAIoVDojddfwzU2Smm9fq/FYoncG4Lfgnwl+SaOnbJ6E8Gv/a4hMGjiudQT409/kvbWeMufauoim1jgg+UbmIgL0rREZuno6VF5aApOoYGxDMMYDAaYhKPQNpvN0WgUKuQL+cqPX90jZbUaDVouMwLTEklVyUQJpY92RUBKA6WPdgw7mGEmyscFJU533jS7zENZR3PRaBTUY0hsnU7X1NSE5mgFfxHW0eF6L6WsXi+C9Ho1AurvN2Sfbb/zBFLDE09pfwzeLe47pz8ZvRWfSgiLsEjOxuJXN1cFZUEQHA4Hbl/jDNxoNDqdTrhf9V0XHPKKFQpeBQfXcC1l9TJ40lOrQAC/fGiqEUk+P9Ob+uHV1BHPyBEPSStNooL6R1ovhc71jmNC6cwGVZrdq+hyA6riXUCB5/m2tlMGg6FuRx3MvTUaDRL7gOEVhmFQYm/AcLJN4sCyh4qXKKuLY0PPrBIB5LMgy3cnnrj7CI1RN0YyS7vvQHyisJJ9VmU6tsqeNrg6UEgQBJfLhXNvjUaj0+ksFgvMw+Gv2WwOBALlGk7+D0T+uj3/SH7vlNX5mNAjJSKAG0xpMQsOG0lpoX98+owSuzs75e4gCeLtPtbdx7GPZiYXiWuHitXYVIldb3g1MCAzGo2o/QYDMpZlwewMuf3G66+B2dn6x5QvkNUczj9brEfK6mLI0OMFEFhKPvxECiCok9ICUXf3KDNtJUE8cZn2hK2eENnBYhOR5HM1pQv0sXmHUJUtCALDMGazWatNm3kbDAYwIBMEIRqN2my2Pbo9u3YS8zLQnIVCodJZp77Fmdk5tYU5zndgOwCGJCiv0tunrFYjTMsrIwBUznG3kGVxWpKVDBv8B9fixAj0cupI5xjsSLe6+9uYyI0v+NiX8+gpvXJPm1RDFMVQKASUBoGs1+91OBzgawk0i0ajFosFxbhOp2tubuY4brVDFgQhcm/I4/FMPeWJ+Z3ygjAswGE4Eh8b9Xg8yWQSPmK1Yt1RVhdDhh5fBQLEzkRYvPrZw5O+MFlLK27SRzrHrJ7wcc+tM9cHibr7OckRn+vQuIpONrYqSsKZ2Tmv16vftx8pDV6WYEaKlAOzM51OB9UOHjo8+PnAqoYIJi6NjY0mk+n8RxeQqzgSaC2ZTDocjoOHDtvtdjWxl+mLsnoZcOipfASWzLrhA+xgXfx14qQvHW8MckpD5APMPptdRePWdJUllEY6cRzn8Xj26Pbs0e2xWCxqKY2IQGQFs9ms0+lAGb4q87KppzzOCHQ6nclkYhgGB4CFqadECQ8/MTDVz/H3xJo4MOrdoYaClktBAMStgHxOSgt3Hv3xXO84TLatPg6jgtq8UXXs7qyUJmTGdymdlrNOQRrkd8DzfKC722KxJJPJgmtdiFgWDAYtFssatGXQvk6n02g0IO3NZnMwGMS5gCwTL26ItYJ7aUajsZQZAZXV+Q+UHlkGgSyrIaH0/5v8Y/udJ+ncGgqlQT120he++OsE7GAhgwt5Vi7T12aeIsHJBQGWyvBDgDNk9bBmZuei0Wj+jpS6TsGyKIocx9ntdlTIabUkPANo3SB8ktfrPWB4ZddOYH3ai5vnl8RRK9g4ZXVBWOjBYggQVkM4fu7ZQvfYszO9KdyRBtNumzfaxkSufvZQnVAaiJ1udFNldbEbK3ZcraAqKOexQrEWih0XRTFyb0gdnkGn0zU2NoZCIZ7nvV4vhE+q21Gn1WrBlE09cSjWLJ2BL4MMPVUYAVEmnhhxQeoee+a4MXa0YxhW0U1d6RCCbUyECT8Ahw2U0kvbKnJ4aaUN+qRmprpcsDtkbE5NlNvFKhRsLf/gzOwcy7KgTk9LZK22qanJ4/GYTCaYeEOsFYfDUXpgBiqr86GmR4oiAPPvxHOJiTx2MMNqt0piEOoJtzGRnhgP6u6MKWjR1jblRA4/1z+GdTYIxG5sbARWwzL7gOEVMFCt21FnMBjUXtyldEdZvf7HWoMtFPvqpBNKs0Td3eK+g24bRztIwg2gNIbjr05c1GIWRljsZpcff/5V+UeWbwHOwobZ4OcDDQ0NSGxUoWm1WovFol5Ll9ILZXUpyNM6BAFeWvzNY7m9LwHx949fmbC6Y5Agnqylrw3fik8lpYXJRRkycqgU3Zs55V7m4ZWyFwWaMPwtKNhaKUwreCFovEGdHgqFMNAKenE3NjaicQv0Usqcn7K6GNr0+BIEpiU5knzu/Hji+JV0xhwMTuTovAPW3WA3tuK+dDXMzGdm5ziOczqdyxM7mUy6XK5SFrTLE3v5swB0fGzUZDKBFSqsqHfX11ssFjWZlzwS5UPBlimr84GiR4gIgbeo+D1PS3Jo5NFZZtjq4zDvrM0btfvYM9cHu4L3IT4RXFP98MFStrm52Wg0ejweIHY+PZLJZFvbqYOHDttstvjY6PL8X+ddJ5NJu92u1+/F0KUwGz946LDX6xUEsu9QsIuCxymrC2K1XQ7izJh8ZSTVO8NqCDnWE3t4lhluvRh7pyPtWZnOa6eouzl+CuTzlkBNFMXBzwcgFJlWqzWbzZCaQz2zFUURU3NotVq9fq/NZsOZcHlvc2Z2DvoyGAxqw3IQ17t2khECsUsP/0RZXd5ntGVbU1NaSstqdNhou0aUYWhqQgqKbuzGFyQ+0RaiNKxjA4EA2m+D7Qek5sCHx/P8+Y8uYGoOrVZrMpki94awQhkLQGl1NGKj0WixWPbo9oC4xhHiCn/F3imrV4Ro21TIIbZEMmz4BibUO1hWHwkhSCit6MbQYaPw7LAqkZuZnYuPjba1nQLBCMwBa02YzaJnNdppGgwGl8uFiuiCk95V3Su2AJl91KEO9fv2ezyeyL0hu90OI9y1U7trpxa8uEsU15TVq3octVtZ7XEhkTXc3YTg7uNO+sKQW+PIL3935Je/s3mjre7+9pux26l5UHdPLqYn61sIGphgY1QTYK/ZbGZZlphnBwJo1AVx/J1OJ88TT0l4l+tO4edDv2+/+ucDFHhgT2qxWGCLC/42NDRE7g2VMgzK6nI9oy3eTobVokz2pSA+0XueQbJ3pbhVft/3oKmLs/vYruB9MAVNW4QrWrWtePMQ/ECtnWpoaDj/0QWQnLC3tLu+flVGXaXjIAhCIBBAaxONRgN9TT3NpgEBL26YTQCx33j9tfjY6Iq9UFavCNE2qgAOG58+mDp3g/vx5fg7HRxRj10m4buburgTV0a7BhKg7oZA36hs20IY4c6zKIrRaLS5uRl1VFqtFmhWt6NOp9Ptrq8ve2Jq7H3qKfEJg9ClaBOao5ATBAG8uCHdV+nLe8rqLfSFXM9QixAws5aG02N/ECF2t80bfaeDe7cr9W5XyuIeJ7G7b4y5+1PcJIl5gm1BAbfB1jO+TbkWwp6orTVBRIPe22KxxMdGUTde3hGq1ex6/V61TSh2BH5jwWCwsbFxd309qOshagrWKVigrC4IS40dVNOw8K0Jsjz2B/HaSOp9JmLxx450jlk6H1o6H77blWr1j4DDBsdPFdKKrdx44S6XPYr6pGVqodxbps6Kp2Zm54LBIMy6cX2r0+kqk5ojmUx6vV6bzQZpQNSjxV8TQRCCwaDNZgsEAiW6fFJWq5Gs1bKaeFjO3uy0JMe+nO/8zThQuqmLg2zSls6HVnfsLDMcivOpKVEkO9o5L2wNCjln1/IR+Axiqtj16m88lotVLngcr4J5OBp1wfIVoo6A7QfWLNjO+g9C6LLl24E6pfzSQTuU1cvjWctn0bRziF9w93Gtl0JHuyJNXdz3fQ9A4231cc6PJ/rHp6czO9h5cJSZ1UghjuNcLhcyvOAXGnZ6weW4RCEG41dXnnrKOxyO3fX1IKhxi/iA4ZUV7Unz0FjjAbhrvFh9s3hKfRBrFitQVhdDppaPIxd5aREpTWKYXJ0Ag1ASSNDHtfeRYCaE0uQ9Td5kTa1+YUtlk9UglxobG9Upb6BL9Tc7nShn334I7gkBOtFZQj3EZcqCIJCoYPq9QGlcVGOgAoglpu53mdbWdgp/yJa5XP0ztEw1PEVZjVBsiwKQDzelbsWnTveQ/SqSKMdPkubA2+aNIqXTPIatr40HCWL07a6v12q1YAWdTyow3jAajVqtFmP0lUIP8I4C8k895V0uF8YS1Wq14E2BIYcwSCBGF934uy9PD5TV5cFxq7SCfE48l/ruT57uyWa0gzwbRDd2bbhwfKL8ZfUG3HYwGARKwxIXFL9o1yXL8tRT3uPxHDx0GPd7jEbjaoPsTz0lIYTQThNCCLlcLpZl0csCZuMNDQ2lq6nKggfOutWt5f+0qc/mlCmrcwCp5Y8oqJWE0g/bFHU3yud3OrjWi0Q31jOYTE3BDlbaNqW8NlXLQ8xxHMlBuW8/+hhDVN2Z2bkXIgm76fV6TSZTzgKY5/nSp6k8zzMMA43Abwdk24FG4mOjNpsNTb7AWjMUCm2oz5Yak1URWH0hlimrEYoaLwClwWGDCT84c32w9VLI4o9h7G6gdN8IqLvTDh55C+kNRwmDb4IDBuSgfOP11wKBAPPwkVEAACAASURBVLBxSVaNffvb2k6BJMcZ+PKsEEUxGAyqfxcg2w5agECQQIvFAuttjUazayeJJZYTiHvDgVhHB5TV6wCv+i4VM2mgYWgoY8k3XsmbwT6a6Rog8YnABysdu5vkwQqfZYb7RnheyiSUzhqbbMJ9xsdG0W8JxKnJZHK5XLCWBjEOiXLyQxqsyOpAdzcE4tZoNGABwvNZO01YdUOQwN319dD7wUOHWZbdBCDW1CVl9Zpgq9aLlizJMnZjsmINJsjyMD/d0Tvceilk80bBaKz1YuxH5wd+dH4Aw/GDSM/RdG/K7cbHRpuampB+YO8FfIacdTabDZwucHjL8xmrwTR+d309qMdyfhdgqo9u2HU76kwmU6C7e5nQBdhylRQoq6vkQZRpGBknDXVzIKX7x6fbb8ZaL4WsnjBJJa2ou62esKPzzsVfE+tujE+kvrbCZVwbw89TNBp94/XXYAkNfIYtKL1+LyTKWfPwIOslRAWD34L8XwQgdlNT0+DnAxgvpWKr6zXfGo0Hvh7oqu1alLLZApSS0kLfCN9+M/aeZxB2sGDiDSEEr372UE3papDSamSDwSBqqlF/ZjabwUJbXbPEMv5wQM5akMwFr4VfFrUpOBzJ53/ByzfxIJXVmwh+ubrO0ljlaEEOCjJkn3146vJg68VY68UYxDMhrO6KOJhhJspzkyJK6WwqrHINbd3tQIw+tZXIHt2ehoYG9V4XdFIi2ZYsUuR0clm8FgsFB55zbcE61XCQsroansJ6xpBHaWU5jRk2ro2k2piI1RMGHyxwwDraMXy6h/OxCe7ZAtqNVoOUziEVxANE2y806jQajergJKuFL6eX0rmKcn61PVa4PmV1hQEvY3d5fFa01qD3Bt0YOGwc87Mgoi3ucYubJK883cN1jz0b+wMR5vmtlHGI62mK50mSV4PBAGQGK06YhIPRyPmPLuSscnPomt87TqHVNdXl/EvU5mgr1ix4eeUPUlZXHvN19phPw+wRKAmyHJucB4eNFvcd4lnpGQFi27xR58cTEJ+o9CiC2ME6h1765YIgOJ1OdViSXTtJFgtkeN2OuoOHDjMMo5afwLpSuIdX5VfOP6I2L8cLS7+XytekrF4v5vglwMIyLWId/HLgkWWuWnoKKYaF9HmkdP/4dBsTsftYmzcKdqDWqxMt7jtWT8jdn4Lss6VTuvL2KKIoer1evX4v2ITW7ajT6/e6XC6Iy6/e6zIajYFAAPEBMFcPKTZQIwXK6rI9SPDUzZ8WYgcw/RMEweVy5XvJY7VlC8jkbCFbkuWktHBtJHX6k9ETV0YhPlE6SlFH+H0m0vmbcfbRDNqZZBbS6gYyx5YdxIaenHpKzDnNZjOK5d319W1tpyCgV9qeVL8XpuJ7dHswPGjObHxDB1nljVNWr+sBoViAbRKLxXLw0GGn05lMJnEJp+4A/IQOHjpssViCweDqZcsSBsIHtcPGrfjU+4puDObb6b/umN3H+thE7EuyKQ1XpWP6V9+yOhQKgecG2IoaDAaHw4Eh+ERRjI+NEkNxJc0F+Gy98fprkXtD+CzUgG/PMmV1eZ47xLWDr5p+336INZujXJ16SmLHgwVyjv/g2gYB5iXA6rgg9cR4BzN8zM/CdvS7XSlw2PjgWpyJ8rEv56EmWJUWYfXaBlLOqwKBgMFg2LWT2J6ATSjHcTk/kZDMHXTjkN2CZdmcOuUc01Zri7J6vU8MRATLsmCiDJFoIYGTOgrszOyc1+s9eOgwOC3U7ag7YHhlPZ5AKKiT0kJ4cp6JPCbZZzvC1qsT6FPZ6h/54FocUlUipQupvdPye71YlON6juMgJ7vBYIB4gPmtiqLIsiyEBwWPLoSaSmxqW5b/hVndEZTGPE+cfjFQzq6dWoPBoE7gFAgETCYTBqnV6XSwVkS12ao6RkpPLsq/eSyf6x1Hhw0IZgLJaM/1jt9NCAUSSqdDIEAzVURp0DaTWNnd3ZCzrlhQezDnbG5uDgaDM7Nza4NxVZhvocpUVpftYfE873Q6dZmXRqOBUB4QxRIkOWy6arXatrZTOU4Fqx2HIMuTi3J4ct7dn2q9FCIqbh+J9Wtxj1t9JLzJmcAQ+2gGAnej85aqF0LmHB8v1dmcIvI/53j5P4LSC3LKqVtXC2GcbINHdKG7U1+67cqU1et65PBVQ0EBhhMokMFYArz8MS/xrp1au90O6jT1RuhK40BeEZ9KUckRfzs17/x4wuohPljwBjsTu4/NJpRW0uvkN458LhQ5tFD1tF4t/1T5j+AMKAcfJDayGo+UfxBbuUXK6jI8PfV3i+M4iKRBtD3KC9fbkBHCYrEQ/3uVm2RpI8iyGrLPdo89czDD6H3V4iexiqye8KnLg76Bidjk/OSiDGvp0tqntWoHAcrqMj9L2LW22WwYygMzOYHem2VZlO3qn4Nlx5GltCjLiecSE+UdN8ZAKwbBTCz+2DE/yRHfM5iMfUkoPblIMmZt/gb0sjdGT24EApTVZUYVJocsy0IgHjSlAOd7CJq35gnktJJ9lony7zMRtBsjOSs7wuBW2RPjMfssFdRlfrRbpznK6g15VjzPNzY2gsEjWEHBtirRkKnn3lDOmoIUHQykqhziF3xswu5jj3aRvDnwPuZnWy+FzgSGbsWn1JTOyveirdITtYkAZXX5n+vM7JzT6QQbCZh+Q4hpsKlY6hisph6WVUNStqDA2uTOoz+e6U0hmS3+mM0btfvY455bro/v5mefTTeXVq6p2qTFWkeAsro8TxjVtrC/BeE70G2wbkcdBLXbXV+vzvOirKuRzFjIHRIvLfaPT5/pTbX4ScbZlsukQAxOPCHHxV9dvBkZfUiS5uD16kImPKFICvS1PRCgrC7Pc8alMhqQAY31+r02m02dchE8/tWZ2fKMvZYMiZ+V+0b4D67FCZMvp4788ndNXdzRjuETV0ZPXR7s6B3m+CnYlC5I7KWNL2mZfqhVBCir1/tkUY8NAe5yolU7nc742KjL5QJiw14XGDmS+Jhz08vL0tSU2BPjzzLDNm+0xZ9OVdni52AH61/YMcg+i8K50M0se7LQBfTYVkeAsro8TxCMHBsaGoC3Wi2xGHU4HJCxEbI3HjC8QpbZO0gVzDBejNXTkkwoPZg8/ckoWJi0XE6BlG71j8AOlpJ9dsnEe+nNIJ+hsPQk/VS7CFBWl+fZDn4+YDabcY8aYserw1NiCC6kvdlsHvx8gIhr5UXm8Mp0GabT3KTIDMTbrg23+kfABwv+tvpHSELpkUcpVYp4pO/abgbibKLFNRawNVhfCILwgq7NEZQqLlBWl+fhBINBdYQtm80GvoFqm8dkMolrbMgaMfj5AEzggZawwyzIciT53PXxXUfnHZs3itZj4LBBwvFPPFESSmdHvk5WY2gubBHtZOAIfsTlBtakhSpEgLK6PA9FEIRgMKjft393fX1jYyNKaWwdxB3P85DAyWAweL1ekkI1MwVHSt9OzZ+7wTk671g9YUxtZ/NGT/rC7TdjdxNCmtKqgP7rZDWq+gomrIKz8PMkiqI6CzyewtukhWpAgLJ6vU8BxdfUUz4UCoH/IB7Mb53juObm5lAoRFyCl1I6KS3cik+1XRuGhNJWdzp8N2TY8A1McJMkVWV2Gly+zaqZ2blAIGCz2dDtBGmM1AVj2MbGRnALX+Ye8++aHqkkApTV5UEbxR1K6WJfeuDGi7lppLQoS+Cw0RPj2xRTUNB4Z5PmMCShNDdJAv0Wea1LWguC4PV6zWazwWBobm7G7JA5xMZ4L6Dq20J5p4qAVrOHKavL/2iR4QWbxrPpgkx8MOKCxIQfYGBQnHgf7RgmGTYij+OCRLajlRc0izxWFFj4qWCfRQ9Cg6FQCDfkdDqd2lEU9QLRaNRms+2ur4fYQw0NDRhUqGjr9MQmIUBZXTbgUaVUvMU090CMg6zmpcXYl/O+gQmSUNrdDwlo01Lax53u4XpifFwgwhyJm19QTsLCfNVKakjXrE7RDgp8WD+DPpznebvdDlHZIPBDQ0NDfjix4jdOz1QUAcrqcsKt5luBdlG/pUQyEDPBTNpvkhigJ66Mgpa71T8CPlhnelMQ6LcEh0rsuUC3Kx6CRbVah48BmERRREqj/5nRaIQAqRC3pNhaY8V+aYUNQoCyumzAIrFyChmNmGodrUQy4aXFnhgPsbtPXBn9wYXI8SsTx69MWD3hk77wuRscRAXN3z0u24hVDUEUbkjCjrauYLLucDjQMA425HL8SVXN0GJVIEBZXbHHkCa7KBI9dkJY/F//91etl0InrozCjvQPLkR+cIGkuXN03ukaILG7U1MiGJyql9O40C3juMEKBXRm4D0KrmZ6/d6mpia1DNfr96Y35IjJjEx25pRCGQdDm1o/ApTV68dwdS08mZ8PjTxq6wxYXT0QQhBW0SilQd3N8VMul8toNL7x+muhUAj5U14WQWuoEQCHM6QxxNAHhu/aSaJzQyZK/JWBy8s7pNWhSWsXQoCyuhAq5T6Gs+hpSf63L+4Dpa2eEEy507F+Fd1Y10AiLkhA6cMHjVrl1djYiArnjaAQsFQUxZnZOQioiJkxwJmUTLz37W9rO7XUObzcMNH2yoQAZXWZgCTN5Cyo4WP2xLREUlW6Pr5rdfW0uvtb/SNEMebn4O24MXY9JsS+nH8y+9zr9R4+aFT2kL6i1X4FtVNlHCs2hZRGCYzhmUBKA7EbGhriY6P484RXYTu0UD0IVCmrS5FIpdSpINCFKY1HeWkxPDl/rnfcobhVEjuTDpJqA9TdVk+IifLcs4XUlPh//+VflX0mwmeY90J+n43IDofkVBdIPsp9+2GagLIask+qLU/wV6CCINOuSkKgSlkN0duXuQNRFNXfsGVqVuoU8lddSMfunVyUiXV3L8kIf8STls9WNwlRZPWEjvzU+5++Z/2oe+DJ/Py1nh4l0jChtFb7Fdhhypn3lvfnDBfVoP0KBoMHDx3GTay6HXUQyRxim8OGVnkHUKkHtI36qRZWq78og58PNDc35/s84WOBTVSLxRLo7p56yuPxTS2oyUzKoOsGt8pb8amzDLHubrmceu1C/IdXU1YfZ/kFMTt568TPdd949U//7OsHDK94PB4IHg4SUqfTgYd2zn2psco5tbaP2GAoFIIVNQ7AYDBAvmgQ3SaTCba1sKONmEFg47SwNgSqhdUwevB8AkdltYoIPHtfiGmTSZ7nIeA2mRZ2d+eIsrUBUY6rssSG2akgy9yzhZ4Y334zdtJHgvu+5U/B+wcXIh9cix/33DKa36x76WWQjQf0ehDRWu1XdtfXWywWjuOyvhzKT0U5xlmgjamnPLiI41par99rsVhYlrVYLDgbh3gPatUdnYcXQHOzD1URqyEfGgTc1Wg0u+vrm5ubIXs7fHXgbzKZBLsIMF00mUyB7m6UNpuNZ7p/sN6MC9KNL4jDht3H2n2sxR9r6uKO/PJ31qsTJ66Mdg0k7v37ox++a9+j2/NVjUb93l1f39T89m32i8rclyiKoVCoqakJbLxhQwunS5B9EkKmQvqRpqYmtSFKlWBOh4EIVAurgbHxsdHGxkaY8u3aqdXpdDabDRKOw/cbIopgjhutVgv5Yivz7UfUihVQWBPr7sl5cNhovRSyesLqiL9nelOg7hZkmWXZ7736tzptltU6ne7gocO32S+E8jlaFhsw2LTEx0abmpr26PbAlAF+TyGiAzyXyL2hpqYmiPQCcttisYDPZpUgv8wNbsNTm8xq/E5AAWbgGP0L7BPtdjs4Ekw9JUknjUYjrvQg9sBmLq3RtFv57mCsz0jyeddA4qQvfMzPHvMTKY0R+duYSPfYM8w+y3HcG6+/tmunFmV1/ct/bjKZxh78R46jBmJV3q8pibgWCECo47oddbvr69EfCzgPxAa/LkBeo9GYTCZUfJR3PLS19SOwyazOuQFQaweDQaMRdmuJYNhdX+9wODiOczqdBwyvYMZJ/b795z+6IAiCWoub0+CGf0RWL3XYcPdx6YTSGSl9pHPM5o1CMBNeWiRTdEkUJLGt7RRYWSOrv6rRHNDrHQ4HCUIqkhgJ6qV1ee8IGMvzvMvlAlFsNBpJNDWlU3U8M1EUg8EgOGwaDAan05lMJjcT+fICUVutVQurURDB9wyiBeH+ik6nM5vNEKMT1Dlardbr9VaJngzGDGvpuwkBdGPggAUiusXP/fO//u5MbypOZtXpN6T4MHzzO3UvvazZQWKPwhvoDcTOmYYgSmX/EvI8zzCM2WxGRQZ0gbxV/+AyDKP21tq4UZX9NrdJg9XC6hynBVEUGYbR79sPxIa1HOS1ASWZ0+kkEYKqxrVAkOWkRNTdZwJDMOs+2jFMUs9enYDYoO13noAPlixNw76Xx+MhN5ih9K5dex0OByql6nbUGQyG8x9dUBMb7ncj7hr2/4tNquFnC0xKBz8fAIZvxDC2Ces2+jari9XqLwrP816vFz0NUG5DtqqcLZ/ywYQKryVNqge25ITyYVoilCbZZxnCZIs/dqRzDOxAj/nZ95mIj02MTi9A5ANZFsHt8eChw/hrBVbWyWTy/EcXlAl52grl8EGj1+vFPWEYxvKDyR9e6UdKabmUOqX3SGtuBAJVxOp8cc1xHKheNRoNstpkMoGF00bAobLlLrV5iE/UE+NP+sLgUwkJpUlE/q7I6U9Gc4KZAKVRI6jVavX79ufkA0DzMtCHw4wXuV3qyGi97YpAdbFa/RRAN6uOvAPEhnlp5VfUOYorMilVQo5Fks+vfvaw7dpw84cDqOuGwulPRjH7LN5a5N6Q2WwGN2aYZjscDlzNgtmc0+nEQAVg+DH4+QAucbEpWqAIFESgWlgNK7f8rRQ0dYLJKgjtA4ZXYF66ubNBXloc4hfO9Y6DkQlJOntlAn022vsSt1PzSWlBiU8k4SwgFAodPHQYWA0b8hgADJ8Qx3Gwxoa7NhqN1OoDwaGFFRHYZFaryQxjBU1MNBo1m81gyQR/YZsaF6IGgyEQCKg1sSveaikVCq+ql16JqSf77k9mk2BlvK+aPxywekLu/tSdR3+EHSxoE1nN8zxs3en1e994/TV1mF51P8lk0mKx6HQ6vX5vIBDIB0pdmZYpAmoENpnV6qGg4MV9UfAx0Gq1DQ0Ng58PQORaXGDr9XshSIi6kXWWC7EajxGrELAzSSeUDgwd7Rhu6uJQ0X3Mz7YxEYhPxEuLeGWa0tK0ogAngYEGPx9A6xpkbM7gOY6z2WzBYHBmdo5Ov3PAoR+XQaC6WC2KIlgvgvefRqPR6XRvvP4a7Lgkk0m73b67vh6JbTabWZYtoxoJeZix60ofmJ+Z4zhOkEReWoQogm0MiTGGMQ8s/lirf8Tq6unoHc4J9ItSGgpg2oGpbfDZ4I+aehmSTCbpNhJCRAslIlAtrAZ5BdIJebtrJ5HSIKzgfuJjozabDb0Fd+3UIudLvOHVVyOO3IFAoKn57X/74n7sy3nYwbJ5o+Ct0dTFkX1pT9jq6vmHd51tnYHf/v6JmDE1UVE63TPcKcpnNZlxbDl18DgtUARKQaBaWA1jVSeRgIl3vpt+fGy0ubkZYtzCtlD5fbayBmBkbznQ3d3Q0KD72qH/8v7P22/GPrgWxzyVLX5C6RNXRlt+Fvh7y//QfePVb//9a2mjN1UjpTwJWociUC4ECrMapriRe0Pl6qbEdnie93g8JpNJp9NBsK6C+jDwDQRNEpiIl89SWj0HJyKTZdlv//1ruq8d+stvf7/xxPnWSyESz6RzrOVyirw7SOzuk74wUJp4Sr/0MuyoKzZh6daw0RJxoNUoAutBoDCrQU1VGVbjXBQUQoIggEEyKH5z7g2nppF7Qw0NDeBjUHASm3NhqR9BoaUYdRK7TlkKjTwymt80mt9sPHHe6iGUVqe2O+kLOy7+6rv/9X/qvnYIbD9hCzqTbp7QGSgNarZSh0HrUQTWgcDmszp/8DOzc5BLFU4VVP8KghCNRsFGumCF/GZLOwI+GiT5JPAwKS1AVFDw1iB/fZzVxx3tGD55nesK3v/H5lbdN14FSsP0IRgMvpgjxt5g742COqOBK20gtBZFYK0IVAurc+Rt/l6OugJKbCys9fbzrwNWE0YKsjw6vXA9JuREBSW6bk/4R+cHTl0e/C/v/1ztdLW7vj7tz1SRgAf5o6dHKAKyLG8yq9VcVT8PpGuxClh5xQpYs6QCOFQpgnrsD+L1mHDiyqjaDrTVP/KeZ/DIT73f/a//8x+bWw3f/E6Ov3cxU1a4o5LGQCtRBNaHwCazGgZfkJlqGuTYYK/vlpe/miyDSeChRzM+NuG4MYbbV8TaxMcRVdlPvYf/6W3dN16FtTR4hh4wvIKLfPWUW7k19YHle6dnKQJlQKAqWF3KfahJXkr9tdURlWyVsS/nuwYSrZdCZAfrcqqpi2u5nDrSOdbqH0mruxXdGMYG1ev3AqVJFFTVDrWykM4cSGvg1jYuehVFYBUIbBlWr+KellYFg5Clx3I+pYknyhKE43f3p076wpZfDL7TweHb6o45P57ouz/55rEPdu3am7FmJY7QGEIkp90lH2H7eskh+oEisCEI1Dir0cZLlKV8/HBiD9UEWf7NY/lMbyqt7lZ03aDxtnrC7X2J8OT8R90Df/Wtv3vp5Zc1Gs2ul18if3eSyGqQ6jm/C3qEIlB5BGqc1SsCihtZiedS3/1JBzOcprFCacsvBi2/GDzpC1+PCaPTCxdvRkDjDXlqtNqvoEX6AcMrwWCwjBbpK46cVqAIFENgW7E6s8TNLH7hM2TYIOH4rw1b3bF3u1IW9zgoxmzeaNu1Yd/ABPtoJvBp/9/+P6+99PLLWuV1QK83f+uvIS6nRqPRarUHDx0OdHdDmpFicNPjFIEKILCtWE28ofAtypKQ0Y0xkccfXItb3TFL50NgtcU93uofaWMiPTF+mJ/OpzTJ8hUI2O12dWQ1sBUtq1VMBb4DtItaQ2BbsXoJpUVZ4qXF26l5ohu7TnatrD7uP5///97tSr3TwbX6R05/MspE+diX87fZL0i2GmUVrdV+Ra/f29TUxLIsuGeC1zcIcPRIoVPxWiPKlrqfbcXq7JMBKQ0JpcG0m4jozocW9/i7XSmbN3qud/xWfCouSPf+/VEmGQ1Rd+96+aU3Xn8tnRdSkmVJjkajELRETWyWZcHhBLfisZAdBC1RBDYGge3IatiU7h+fbr8Zs/tYtbcGMPz0J6PhyfnJRTk1JV7r6VHcudOhfM3f+muIHCjL6awaL0Q5mUy+8fprGGJt106SgQDm4UhmLGzMc6StUgSyCGwvVsNWliDLPTH+3A3uPc9gTl67455bTPjB2B9E0I0T/vPEv/qAXr9rp9ZoNMbHRsVMRASyMs/Ye3McB+FQtVqty+VSh+bPgk1LFIGKIFDzrE6vpSGEoCDLCWHxxhe88+OJH1+Ot16MwftoV+RoV+R9oht7yPFTSGlREchTT/nuy4z5W38Ne1ckP5ZiVQpR+0kHymvw8wGTyXT+owvJZLJ8/t4V+RbQTmoLgW3BamC2IMuxyfnrMeF/X0n8uIOzumNWtxJszBO2ekKnPxm9NpJKPCfiF6QxedDKylmWZIiIArtWL0RiKK5mPoQim5mdC3R383wV5Qmqre8qvZtSEah5ViupJ2EHa3Led/fxjy/Hf3w5jnagNm/U7mPPBIZ6Yg+V1HZLdr+Q1bIkQ1RAwFWU5Sfz8zmyGlJVVcZevdTHS+ttSwRqnNUgpXlp8W5CuPjrxI8vk01ppDR4a7TfjPWPTxMprexl44b2kkJGaAPPiV9XJrVteooPbFay+VHF2LakUhXddO2zGijdfjMG8YmsPg5S2x3tGLb7WHd/in00szR2d9HHg3TNUJhGNymKFT2xiQjUOKshHP9ZZrjV3Q/qbnUE7/a+ROxLsoMFWjF09sh5Hkq4ImUdrQ4butQHi068c0CjHzcRgZplNaS2A3U37GDZvFHQdR/tihzzs767j4HS0wW8udRPJD3Fzk7Il87GZYnowNUX0DJFYHMRqA5WowxcEYxMUpulSi0ibJF1EMwkLkhM5PHJ6xxYgMJa2uoJ230kaQ5mnxWUvauVulUTe6W69DxFYLMR2FxWq9mSLs/PzKk1z+myyisD2Jt/JR7npcXY5Hznb8ZJ8H0/Me1uuZwiZt6ecKu7/0xgqG+ETwiLsIO92fjT/ikC5Udgc1itWoVm6UmWr5JYIqshznY+HtOSfDchuPs4u49t6Qgf6RyzdD5Et8r2m7G++5OJ5xKldD509EjNILA5rFbBl2U1pokrtEzNVoOSqoVscVoidibuPg4ybGD8A7DuPtc7fjchJKUFMCDJXkZLFIHaQqByrMbdICCtyvmB8BReSOy8SXja+DpLbvIYVBbZirFX//j0WWb4pI8E4odUWK3+kR+dH3jPM3jx14nY5DwklM7sS9fWk6R3QxHIIFAhVouiyPO83W5PJpOyTBI4o6U0uiIDse12ezQaRTdG5Scgy+VsiZhzZlgty/ysDJS2/GKQmIJenWjxE2L/6PyAo/NO10ACss+imWfm9ul/ikANIlAJVguCELk31NTUZDAYLBYLx3EgrnNm2oIgOJ1Oo9FoNpsDgQBhu0SYjsptWEvDZ6S0KBN/SYhPZPNGQUof7SDhx1ovxs5cH+wZTKamiD8GNlSDj5HeEkVAhcCGs3pmluRzb25u1ikvvX4vZrFEq48XInGfOP/RhYOHDmuVl8lkgux5WeYrkhmZiQVuMk1pq49DC5OjHcOtF2NnmeG+EV5NadWN0yJFoGYRqASr42OjDQ0NQFfION3WdiqZTMKUW1Z8mL1er9lszma30e9lGCZL6UL4T0vy6MNp38AEBAZtuZx6y0/eVh9xnG6/GQuNPHoy+7yQgQj+JhRqlx6jCGxxBDac1bJMvJ28Xi8EFYBQu/p9+51OJ8/zxKtRSW0LOauB+fp9+9vaTnEcB8K8IMKCJI4+nO4K3j/pg8Mg4wAADuVJREFUC9u80aYu7vu+B0d++bsfXk3HJ7qbEIoYjSGlC/G9YGf0IEVgSyFQCVYjsSEcZ5q6+r3nP7rA83wwGATCQzaM3fX1DocDAg/ksBrpSBw2Jp509A47Ou/ApjRIaRDU7v5UbHK+BEpTVm+pryodbMkIbCyrcY4ty2Tl7PV69fv2azQamGnrdLq2tlMYeXfXTq1Op2tubgY9OXI4p8BLi30j/Fnms7c/7DvmZ0HdDStqmzfa3pdVdxONWu5L3VjuOfqZIlAbCGwsq3MwEgShre2UXr8XU17gQrpuR51Op0tryMludVZlrSZiUlroifFtTATcKjEHbUsHMfD23X2MO1j5hM4ZDP1IEahVBCrHajA7SSaTDodDv28/RuTUatPhOxsbG1mWxa0sNZnBAQt2sE73kHSzGBiUbGJ5wm1MhAk/UKu74fJafWz0vigCyyBQOVajQpvjuDdef23XTi0spL+q0XxVozEajcFgEEzBYS9azWpBlu/9+yNmIE6S5ijh+HETq9U/Atbdqal0vDER97KVwjI3T09RBGoSgTKzGqm7DFjJZLKxsVGn0ynpqZTQ+Tu1hw8aBz8fgHU4NgLEBh+sruB9R+cdkhS+c+xI55j16gRMv9v7Ep8+mHoyP69MuZUrpGmF2Ok5/DIjoacoAjWJQJlZrcYoJ7ksKLRhaX3A8AqZge9Iv7Va7R7dnubmZhJtW3lBO4IsJ6WFTx9MnesdT4f47Rg+qrxt3uj7TMTdx0WSzzE+0dLFuHostEwR2EYIbACrl4b+QSxJGG1JdLlcBwyv7K6vJymgM6zetVNbt6Nuj26P3W6HyLuE2kpg0J7YwzOBoVb/iNXHWToftvjJopp4Sl8KdQ2Q+ETUAQsRpgWKACBQflarha0aZVEUPR4P2IQCn3U6XU5OyfqX/zxNbCUcP6q7wQGrxa/kuPOEiLqbJTtYk4skLjdVjKlxpmWKQPlZrcYUV8gzs3NoXqbVpiWz0+nkOK77MnP4oHHXTi0oww8YXvnJzz66mxBufMGfZYZB3Q023kc7ho/5SXwiJkJ2sIDS1K1SDTgtUwRkWS7MathPjtwbKgtGgiAEurvNZjPuZqGPhyiKxDrlwoeHDxrB5uxP/uLrh//p7TPXByGhNIbvtvhjx/wQjp8HSkNsULovXZZnRBupJQQKsxr2nMrCalEU42OjkDISbUVtNhsqxl4IMzzPu1yuQ6+a/uQvvv6X3/7+P7T+HyvJkhN+pyMdS7ClI3zMz57u4W7FpyAcP3pKZ1XfdCZeS19Mei/rQGDDWT0zOwc+WzqdDlK6WywWSBYLK3D4+9vfP/nJzz76ZmNz44nzVk8IgxOlC57wud7x26n5pLSg3sfOozSV3Ov4LtBLawWBDWc1sf0UxcHPB2CPuqmpKSdZLPH9UNTdTPjBcc+tY34SRZC8/Yq/tGIK6u5PhZX4REt9NnIITildK99Keh/rQ6ASrIYRxsdG0xPvpbZfsCl9Kz510hcm8YmU4EQtfs7iJzl0YAcLZ92Zm83nM1WEZ7Ch/7c9AhViNUyzMVICknJykdiZMFH+pC/cejFGNqXd4+StUPp9JnJtJAUOG3hJZicLD1A+b/tvMQVgKQIVYjV2Cok1QNc1uSjHvpz3sQmHsoP1Tkea0mQt7QlB9llMVUmm14VdubBtWqAIUAQIApVm9bQkT0tkIZ2UFmJfkgwb7zMR2JRWJ6AlGTaUcPzKdjSxVss8LiqiM0jQ/xSBIghUlNUoqCH7rG9gwu5jQctNHCrdMas7dtIXbr8Zu5sQlkjpAt7WRW6IHqYIbHsEKsdqsOvmpcWktNA/Pt3RS7LPkjyVirdGq3+EvC+FOnqHIaH0UgNvtYgu5aFh/VIq0zoUgZpCoEKsJtoyRc0lyHIoTuITHffcOukjdibvdBDr7lb/yHHPLd/ABIhoyIOVpqaialMpybIPALkLheyJrGxXHaNFisD2QKBCrIZNaaLuDj84dXnwPQ95W34xmElAS3awmPAD3MEqsvWca/RdnNXb4+nRu6QIFEJgFaxGV41C7ZBjORxLf1QytkOGDeJWeX3Q6glZ/LEWP3fEM2LzRkn22euDPbGHK1G6WLf0OEWAIrAEgZVYnecsDdyG/WdsCT8WJDaE42cG4iClMeRYi5/ko3V9fJdSGpGkBYrA+hFYidWZHlBQQ0iT+Zls+juoghWQ4RAmgZcWI8nn7j7u1GUipSE2KBD7+JUJdx8XiqeT5uROrzNd0/8UAYrAqhBYHauBsTOzc5F7Q1NPeXU+WoXVRFRjRMF/++J+7Mv5W/Gp9r6E3cfafSwousHM++R1rr0voVZ3U1av6snRyhSBYgisjtXgqhEMBhsbG0lIUGFmqU23KEvTylsce/Afbx774Mz1wRNXRi3+GIQQxFj8DmbYd/dx7Mt0Qmn1vJ0MNG/aX2z09DhFgCKQj8DqWC2KYiAQMJlMu5SooOgjncNtQRD+sbn122/+t7c/7DvaMdzUxR355e/I2zPS0hF2MMMQzAR2pJfuS+co3fIHTI9QBCgCKyCwMqshgzwsp0OhkNls3rVT+1WNpv7lP//eq3/LsqwyFU8H4Z6Znfvt75+8d7r9zWMftPws0NIR/ud//R0mwWrxc44bY0hpENHZAaZFdK7kzlagJYoARaAEBFZmNfAZVtTJZLKpqan+5T+HEEi7dmqbmpog4QZU4Pipts7AkZ96IQkWmXt7Rpq6uKYu4ll5uofrHnvGPVsosoRW87nIjnUJt0SrUAS2OQIrsBoorf4Li+pdO7UY7tdisUTuDZHs8/wUJLVrcd+xesKYBMvij0Feu08fTCWlYpSGB6Em9jZ/NPT2KQJrRGAFVue3+mJuOhgMNjQ0KFFBSSQy3dcOWX703//ti/tAabJ4hjAmfq6lgySXdjDD7v5U//g0Ly2ClKaCOB9YeoQiUC4EVs1qWZaB2CaT6aWXX6576WXNS1/TfePVt0783NF5x3p14vu+ByRBvIfE5bd6wj/x3e7oHYaE0kvJjGK5XPdC26EIUAQIAiuw+sVSIgJmoBkLfNpv+OZ3NC99TfPS17795n87dXnw7Q/7jnSOveVP/fO//u5I5xiR0p13fAMTcYEkks62BFoxun1Fv4EUgY1BYAVWq+1M0mXF3FuU5Sfz8x91B43mN//hXefbH/a9/WGf2hS0+cOBtmvDTPgBxCfKDh4pnT1ESxQBikA5EViJ1Xl9EV23IngnF+W7E0+srp6WnwUwfPc7HdzxKxNWT/j0J6Pq2N1KLBOccmfFdl7z9ABFgCKwXgRKYLWkBAzL/AVW89LiME8iH/zEd/uYn7V5oxBF0OoJv+cZbPlZ4OpnaR8spPJ6R0qvpwhQBEpDoBRWpy1MZCktpUl8ooknHb3Dxz237D5CaauPA5vQtz/se+vEz7/Z2PxT12WOn6Ia79KeAq1FESgnAhqUpemCKJpMJshZSTLyqHRaUCHxXLqbENpvkgBj6IAFgYqsnvBbJ37+V9/6uz/9s6/r9+33er2//f0TcpXiYl3OUdO2KAI1jQDYdK2ZOEVktZJZWp1nCyidlBa6x561XRtWfCrDGEgQgoS2uvuN5jfJdteOuroddfp9+wPd3YIg1DT+9OYoAhuCwMzsXE67pVNpKasl4kdJZLXyikaj4KQliiLE+r0eExzMMMmw4SPBxo52pDPRog+W5Uf/Xae80sTW7w0EAvnjyxku/UgRoAgsg8BqhbaK1cpk+8XctPlbf/1VjearGg3KakGWuUmRiTwmUtpNMmyAARnYmbQxEVB3T0vyb3//pK3tlMFggN8FrVZ78NDhUCi02mEtc4f0FEWg5hFAl6q13SmyGl2js6wGWT0tybHJed/AxEkfMf/MWoP6SWBQ58cTPTESzESU5ZnZOVEUOY6z2+16/V4lCab2gOEVhmGouF7b46FXbU8EyOxYEHieRxeMVeGgYrViXpIjqyEcv7uPU3Rj6YV0UxfJVnn8ykR7X+LTByShNElVmTEvAWJbLBa9fu8BwytOp5PjOCqrV/VUaOVtjoAoislkkmGYaDTK8/xq0SjAapPJBKvi2+wX/ePT53rHId4YrqWJuO4It/cl7jz6Y8ZhQ1Ly1aZ3skRRjEajFovF5XJBxrzVDovWpwhscwQEQQgEAo2NjSAXeZ4vXTRmWK2StITVL738p3/29Y+6idUnBBtDt0pQd0NC6clFkjErY+UN+XZwg4xMxQVBgCnENn9C9PYpAmtAIJlM2mw2/b79Bw8ddjqdPM+XuJLNsBpWxQpF/+Y739V97RDEJ/rBhcgPr6aaurgfXIi0+kesnrCj886NL3hwk1YZmaTJrHbiWMNt0EsoAhQBNQIcxzU0NIDuWa/f63Q6S9nKTrMaSclLi99sbP57y/9o+VkAdGPErbJzzOKP2X3sWWa4ZzAJujF137RMEaAIlBEBoC7sKw9+PoCL4j26PQcPHYaFrSAIWC2n66yshqQ5cUE65uwiIcfcdyz+GAQnsl4lDhstPwucZT67zX4RuTcUpS+KAEWgIgiEQqG2tlOg6kL7roaGBqfTCbq0fG5nWS3KJLP03Yknjou/ar0UaunIhihqcd9pPHH+P33P+jff+e7ffOe7ZrP5e6/+Lb7N9EURoAhsJAJGo1HN6roddVqtVr9vP3I7R5G2hNVP5udTU+IxZ9fbH/a1uO/YvNFjfvbtD/v+ofX//OW3v/8nf/H1upfS1qBgpoJ/wW48/RcWAfQvRYAisD4ESPww5aVuRqvV4kedTgfEztGiZVkNkbinJfkfm1uP/NRL8sV7QsTR0tl1+J/e/qtv/d1ffevvDh46bDQaDx8kb/qiCFAENhQBoJvJZNLv269mskajIbJav9dsNns8nmQymROzKMvqqadkQ0wUxZ+6Lv/UdbmNiTgu/upf2DGOn3oyPw/vmdm5Fd8CfVEEKALlQ4Dn+UAgACF963bUQXhfk8nEMEyxvS5gNarASUGQxCfz8+FJ8ualRfW5HFUb/UgRoAhsHAJggs2yrMlk0mq1dTvqdDqdyWTyer3LG3dlZXXO4CBRDo1FlAML/UgRqBgCM7NzYKO5a2daN+bxeFiWXWZPC8b2/wP5unmcA83P/gAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "id": "b18bb5eb",
   "metadata": {},
   "source": [
    "其中“线性”表线性模型，而“回归”则表示回归问题，也就是用线性模型来解决回归问题。线性回归主要用来解决回归问题，也就是预测连续值的问题。而能满足这样要求的数学模型被称为“回归模型”。最简单的线性回归模型是我们所熟知的一次函数（即 y=kx+b），这种线性函数描述了两个变量之间的关系，其函数图像是一条连续的直线。如下图蓝色直线：\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "66ac3e20",
   "metadata": {},
   "source": [
    "还有另外一种回归模型，也就是非线性模型(nonlinear model)，它指因变量与自变量之间的关系不能表示为线性对应关系(即不是一条直线)，比如我们所熟知的对数函数、指数函数、二次函数等。\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "3031de15",
   "metadata": {},
   "source": [
    "线性回归”就是利用线性模型来解决“回归问题”，那到底什么是回归问题呢？你可以把它理解为“预测”真实值的过程。解决线性回归问题的关键就在于求出权值参数、偏差值。权值参数”是决定预测结果是否准确的关键因素。\n",
    "\n",
    "实现流程：\n",
    "- 数据采集：监督学习需要有标签\n",
    "- 构建线性回归模型。\n",
    "- 训练：训练的过程就是将表格中的数据以矩阵的形式输入到模型中，模型则通过数学统计方法计算房屋价格与各个特征之间关联关系，也就是“权值参数”。\n",
    "- 预测。\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUcAAAEnCAIAAAC13xZmAAAgAElEQVR4Ae29f2wb15kuTBerDWss1oyBtcx2DZvozQKsjV23LBZZ7j9bdfMlELpBI+MK12IvkIRrFhbj28DERW8j++Jem+hFZaYOTMoCLdIXtT1ebRzKH2BR7cainNQaMoYoSoDFkfCtSbpda+wakcZSLc0YhTQfzrzkyxF/SJREURR1CEI6nDlzzpln+PA95z3vD42c9xIzr7wz9ABFgCKwBRDQFByjKIoFj9ODFAGKQPUjUJjVM7NzsixTblf/86MjpAjkI1CY1cBnyup8vOgRikD1I1CY1TzPU0pX/8OjI6QIFESgAKtFUXS5XDzPF7yAHqQIUASqHIECrA4Gg2az2ePxCIJQ5aOnw6MIUATyEVjCalEUBUGwWCy76+vNZnN8bJTOw/Mho0coAlWOQJbVsEsdCoWMRmPdjjqtVltQXFOeV/kTpcOjCGRZDVtZFotFp9NptVqNRmMymTiOoxhRBCgCWwuBNKtBAgeDQaPRqFVeGo0GxTWVz1vrodLRbnMEsqwWRREEdd2OuroddcBqurre5t8PevtbEYHsDHzw8wFYUQOr4a9Wqz3/0QW1MpzK7a34mOmYtxUCaVYLgmCz2XQ6nUajUbO6bked2WyORqPbChR6sxSBLY1AmtWg+tZqtagq02g0UNZqtS6XSy2ut/QN08FTBGoegTSrQVDvrq+32+36ffthXW2xWEwmk1arNZvNHMe9EIm/B7xqHhd6gxSBrYsAYTWovo1Go8vl4jjOZDLBfnUwGAyFQg0NDXr9Xti7zpCa+mlu3SdOR177CGjAmKyxsdHr9fI8PzM7ZzKZYPoduTckiiLLsjabraGhgeM4QRCorK79LwW9wy2OgCZyb6it7VQwGAR3DmA1KMyA1bIscxzX1naKYRjq8rHFHzcd/rZAgLA6Go3OzM7h7BrW0lqtFlgNx5PJJMuyEE1hWwBDb5IisGURIDNw5DMUYAZet6Mucm8IzEhhj1oQhBei/IKuqbfsw6YD3yYIaIDJGM9IFEXQliGrEQgkPx6hBYoARaAKEUjvbOHIlmE11qEFigBFoJoRKMxqjfKCGXg1j56OjSJAEchHgLI6HxN6hCKwtRGgrN7az4+OniKQjwBldT4m9AhFYGsjQFm9tZ8fHT1FIB8Byup8TOgRisDWRoCyems/Pzp6ikA+ApTV+ZjQIxSBrY0AZfXWfn509BSBfAQoq/MxoUcoAlsbAcrqrf386OgpAvkIUFbnY0KPUAS2NgKU1Vv7+dHRUwTyEaCszseEHqEIbG0EKKu39vOjo6cI5CNAWZ2PCT1CESgPAqIs47s8LZbWCmV1aTjRWhSBVSKAfMbCKhtYe3XK6rVjR6+kCCyDAJIZC8tULu8pyury4klbowgsQQApXckonpTVS54B/UARWBMCSN41XV3uiyiry40obW/bIYCUzilsGhCU1ZsGPe14iyNQjMM5x+FjRe+VsrqicNPOagUBNXWL3ZO6TkW5TVld7JHQ4xSBYgio6VqsTua4tJrKmYvW+Z+yep0A0su3GwLI0twbxxNYUBmhwLHcSzboM2X1BgFLm61VBFSczdwiHhJkmZ+VBTn9Tu9mSaIM70z9jf5PWb3RCNP2axEBMq9Ov9SUHuIX+kb42OQ8EDsjoLFK5poN/k9ZvcEA0+ZrCgHkZ5rV+JmXFmOT8+4+ro2JuPs4JLawGbdPWb0ZqNM+tyQCSOHs6EEm89Li3Ykn7j7O7mOtnlDrpVDXQCIuSCixsxdUpERZXRGYaSe1iACwPPFcujvx5OLNyHHPLasnDO9TlweZ8IPEc0JsqFZJACirK4k27at2EEhTWljsG+HPXB90XPxV66WQzRuFd+ul0Fnms7sJAVhd4dumrK4w4LS76kIAZ9WrkqjTkjwtyYnn0o0v+DYm8qPzA8hnqydk9RBKM+EHqSlxVc2WCxrK6nIhSdvZkgjksDqr2i5+N6JMKB2bnL/62cO2a8M2b/SdDg7edh973HPrLPNZ3wgP028qq4sDSc9QBDYGgRxW53aSt9WMlO4aSDg675BVtI+z+jiLe9zmjTo677TfjPWPTyelhc1SlcmyTGV17nOkn7cVAmpWF7hxZLWUnkvz0mIk+dzdx530hZXJdprVVh/X6h9pvxm7mxB4aVFQ5PmmTL8pqws8R3qIIpBFIMNq4GdSWugfnz7XO37SFz7mZ4/5WVxOH78y0d6XQEqjoN4UYlNZnX2CtEQRKIaAIBPdWN/9ydOfjNp9WTIDq09cGfXdfXw7NT+5uMRcNENp+F/Kmr1Y/6s7Tlm9Orxo7VpEAFlXuEAoLSz2xPi2a8NWTxjlMxQczHDXQOI3j+XJRfLOaSKzXQ2HKwQeZXWFgKbdVCsCOTRcIlHhHPdsgYk8Bkpb/DF8H/OzbdeGmSgfFyReWoTl9JLryT2r268QBpTVFQKadlOVCKgply2/EOUXIqHj5KI8xC90DSTsPtbuY5HPFn/M6gmf/mT0VnxKtYMl5d1jtk2F3nnnN+YAZfXG4Epb3RoI5LCOfMRDvLQYnpxv70u0+kda/SNqSh/zs+19iU8fTCWlBaifkcnq28aWsKA+u4FlyuoNBJc2XfUIIN9IQf0h8VzqH58GSh/tGIZNafjb6h851zuOujFRlhRKo9obb1rdXt7EHGttQIGyegNApU1uGQSyxIMSUBPU3WcZYjfW4ueOdgwf7SBlYmfCDPvYRHhyXrWKVl9aUfYWg5myuhgy9Pj2QgD4LMgy0Y1F+bPM8DE/a/VxRzxk7t3qHznmZ0/6wkzkcezLQkERpGlZmq7k4nmZx0NZvQw49NQ2QgBYPTpNKO1gyA4WLKSPeEZaOojNSRsTufFF2rp7qUTOCvwqwYuyukoeBB3GZiIgKpHG4oLkG5hAu7EfXIj84ELEenUCpHRPLE3p7EAzlmfZI9VRoqyujudAR7GpCExLMvtoJmPdnZbSIKuP+dlzveOF1N1ZEQ07YZt6B0s6p6xeAgf9sG0QyHJyWpJB3X3Mzx7tGG7xc/C2esI/8d3u6B2G4AdLo5pkL8/saS2dlW8qjpTVmwo/7byyCCAX06F8JZGfle9OPGm/SfRhRzwjTV0cvC3+GNGNDcTHHvzHiyoibEl4UVaXBBOtVBsIIKuhwM/KfSN8+01iKAbbV2lB3RF23BjrGkiQYCZkG3uLvSirt9gDo8NdJwKCJJK34oNF4hMpwUxgLzptauIJtzERJkp0Y+pfgXX2W8nLKasriTbtqzIIqMm4RNISySuK0xKx7vbdfXziyqh6IW3zRq2e0JnrgxCfaMmVlRl4mXqhrC4TkLSZKkJAzercYQkyCTnm7k+B3dhb/tRb/hSZeHeEW9397TdjoTj/ZH5+61KaxkLJfeT0c00gUJTV0xLRjbn7SDSiI51jQOm3/CmrjwTo7+gdjiSfT0ubEMG7vLBTWV1ePGlrVYcAUvzJ/Hwoznf0Dtt9ZAcLKd3iJ5TuGkiMPpxWKJ3vUFl1N7X8gCirl8eHnt3aCCClU1NiaOTRmcDQSV/4aFfkaFcEdrBa/ByJTzQwMfpwGitv7XumMUa3+vOj418GAYjFPy3JcUH6F3bM9fFdu49t6SCbWLCDdbRj2HFjjIk8Tk0RFVrNvKisrplHSW9kCQLogzU6vXD1s4c/8d1udffnbkozw2DdrejGUFSTAnxY0uLW+UBZvXWeFR1pyQiAt4Ygkx0sdx/n6LwDEflJ/IOrExZ/rMV9p+3a8K34FD9LdGPE6hNdNZTc1JTVJYNNK1IENhIBtbTlpUWM3Y1RQa0+soNl9YQhwwYvLeZJ6Y0cX6XaprK6UkjTfiqCABA7KS3cTQjtN2PveQaJbYmSNMfqI1FN7D7W3cexj2ZgBysroisyvMp0QlldGZxpLxVCYFqSU1Ni3/3J9psxnHVb3OMtl1MW9ziE449NkmAmREqrZt1qOV+hsW5YN5TVGwYtbbiyCAAt44LUE3tIEkqT1HYkoTSktrO4x49fmbgeE0anSV47qIysVlN6yanK3kK5eqOsLheStJ2yI1CAa7l9ZIQtqMe4Z8S626FEESQGoR0k/kGrf8TqCZ+8zt2Kk0C/m5J6NnfYG/yZsnqDAabNrxGBfEoriq2c1jKsFmR5dHrB3Z9q9Y/AXvSRzjFYTr/9Yd9ZZhiyzxZqIqfFWvhIWV0LT7Gm7wHpXfQuIUf8xV+TDBtoYdLi50hyaZW6WyjaQK2doKyutSe6re5HkOWktBBJPr/460TrpZDVE271j2D47vc8g+4+LqbE7k6vlrcHOpTV2+M51+BdksgHSWmhe+zZmd6UkiM+na0SRPRJX9g3MDHME4eNWrIGLeVJUlaXghKtUyEE0MIr258kk4w3eW9RlhLPJaA0ZsBKhzTxhE5dHmQG4nFBSqu7s8l2sg3XcImyuoYf7pa8NSB2duhL+YyLbI6f6ok9PHFl9IdXScwDmHUf87PH/OyZ64M9g8nUFBHm6bV0RqmWbbamS5TVNf14a+7mgKhxQWLCD076yMYVhgQ95mff/rDvzPXB/vFpdcgx3JQmhe3xoqzeHs95690lSuW0ngvdKof4hXO942AKig6VVk/Y7mPV1t3bSj2W83gpq3MAoR+rAAGcMCsFmJODbuxWfKq9L/Hjy/F3Ojh4w1q69VLI3cdFks8zDhtVcBebNwTK6s3DnvZcDAEVq5HSiefSrfjU6U9GrZ7wOx3cu12pdzrIjnTrJaIb8w1MIKW3yzy7GHo0FkpxZOiZzUBAxWdZEpHSaevuwJDdx1rdMYt73NL50OrjWt39Z5nPmIF4bHJ+mSiCOJvfjFvahD6prN4E0GmXJSIAujHu2cK1kdSZwBB6a4DDhs0bPct8plZ3p9mbl22Dslo0mUwa5RW5N1Qi+rQaRaC8CAAPJxfT4fjbrhG/aAx+0NJBDE5OfzLaN8LjDhZcknHH2m5EXgI/ldVL4KAfNhsBwkak9G8ey8Rh42Is+1YcsKye8LnecRKfSFoEea4iMRahsNk3tBn9U1ZvBuq0z+IIwFp6clG+8+iP7X0JsOtOBzNxx6zuGOxg3U7NJ6WFHAYrerKcY8V7qt0zlNW1+2yr4s6QYyWNBijNS4ufPpg61ztOXKN9HNGNKW+bN3rSF3b3cXcTAkjpqlJ3V0/2TMrqkr5ttNJaEViB1S9EGbNDi2I6VWVP7GH7zdiJK6MWf+xI5xi8Lf6YgxnuGkiAwwa0u9ZRFb1uDcyEjHzwt2i7lT1BWV1ZvGlvxRGYlmTu2QIT5U9dHmy9RIIT2bxRMPC2+pQMG3cfx75U72BtlKhWc7tYWX0fVUVpmj1P/WhoeTMRmJbkhLDoYxMOZtjqSftUArEtvxj84Fr8ekwAHyzihrVhPlgoeEmI8Lwdss0EaDV9U1m9GrRo3XIjgKYjscl538AEWUhfnQD53OofgYTSEI4fQo4pnpXEVEVxxyp/dJMcJsNHtSjOqSDL8szsXLlRWW97lNXrRZBev0oEcKWdFri8tBienO8K3m+9FAJvDfgLwQ/O3eD6x6dRN5an5V5l58Wr55BTFMX42KjX6516yqsvUrNaFEWe510uV04ddf1NKVNWbwrs27bTLKVfiMT5GdXdYGTScjn1fd8DEnJMSSh9rndcnVA6j9LlXFerxbIoiizLNjU1mUymfGLDwwNKO51Oo9Fot9s5jlMTfnMfMGX15uK/rXpfQukXogwOG86PJ475WZL7ys/h+8eX4xd/naPuzl6eMSArG3pISJhsB4PBpqYmnfJqaGhgGEYQcmf7yWTS6XQePHS4bkfd7vp6m82WTCbLNqD1NURZvT786NWlIpDlJOxmJYTFvvuT4IOlprTVx528zvkUdXc6PhHpIns5Gp+VUVLnsJphGL1+b92Ouroddbt2ahsaGgKBgCAIMPIXogwTb6PRuGunFqqZTKZoNFoqGBtcj7J6gwGmzechIMgyNyn2xPgzgSGU0m/5U2/5U1Z3DNTd3LNMOH7w4lKxWs3vvLbLc4DjOJvNptPp1MQOBoMzs3Nk4SAIXq/XbDbDWa1WazAYnE5n9ayuKavL8z2grRRGQO1ZqQhcoLRvYKKNiVg9oRb3HbWg/uBavCfGY4aNQgvp7KZWGWV1/uA5jrNYLCiK9+j2NDY2siwrimKgu/vgocNarRacoHbX17e1naqe6Tfdr85/mvRIWRFIS1piQAZJc8KT85hQGoIHtnSESfbZqxNnelMk8oGSUJoI5PR2sVo2p4mMh8o6VuyRbFaBDry5uRmoq1VeDQ0NXq/XaDSClIYVtcPh4Hk+M9ryjmiNrVFZvUbg6GWrQgDU3bdT8+19JMMG+lRiwd2fwuyzuaRFgZ/pMrdC5vg6/6v3paEplmUbGxv1+/YDt3U6ndFoRJ7rdDrQfq+z37JfTllddkhpg7kICHJa3X26hyNJ7TK6bqB0GxPxDUxAMJPcKzf7syAIoVDojddfwzU2Smm9fq/FYoncG4Lfgnwl+SaOnbJ6E8Gv/a4hMGjiudQT409/kvbWeMufauoim1jgg+UbmIgL0rREZuno6VF5aApOoYGxDMMYDAaYhKPQNpvN0WgUKuQL+cqPX90jZbUaDVouMwLTEklVyUQJpY92RUBKA6WPdgw7mGEmyscFJU533jS7zENZR3PRaBTUY0hsnU7X1NSE5mgFfxHW0eF6L6WsXi+C9Ho1AurvN2Sfbb/zBFLDE09pfwzeLe47pz8ZvRWfSgiLsEjOxuJXN1cFZUEQHA4Hbl/jDNxoNDqdTrhf9V0XHPKKFQpeBQfXcC1l9TJ40lOrQAC/fGiqEUk+P9Ob+uHV1BHPyBEPSStNooL6R1ovhc71jmNC6cwGVZrdq+hyA6riXUCB5/m2tlMGg6FuRx3MvTUaDRL7gOEVhmFQYm/AcLJN4sCyh4qXKKuLY0PPrBIB5LMgy3cnnrj7CI1RN0YyS7vvQHyisJJ9VmU6tsqeNrg6UEgQBJfLhXNvjUaj0+ksFgvMw+Gv2WwOBALlGk7+D0T+uj3/SH7vlNX5mNAjJSKAG0xpMQsOG0lpoX98+owSuzs75e4gCeLtPtbdx7GPZiYXiWuHitXYVIldb3g1MCAzGo2o/QYDMpZlwewMuf3G66+B2dn6x5QvkNUczj9brEfK6mLI0OMFEFhKPvxECiCok9ICUXf3KDNtJUE8cZn2hK2eENnBYhOR5HM1pQv0sXmHUJUtCALDMGazWatNm3kbDAYwIBMEIRqN2my2Pbo9u3YS8zLQnIVCodJZp77Fmdk5tYU5zndgOwCGJCiv0tunrFYjTMsrIwBUznG3kGVxWpKVDBv8B9fixAj0cupI5xjsSLe6+9uYyI0v+NiX8+gpvXJPm1RDFMVQKASUBoGs1+91OBzgawk0i0ajFosFxbhOp2tubuY4brVDFgQhcm/I4/FMPeWJ+Z3ygjAswGE4Eh8b9Xg8yWQSPmK1Yt1RVhdDhh5fBQLEzkRYvPrZw5O+MFlLK27SRzrHrJ7wcc+tM9cHibr7OckRn+vQuIpONrYqSsKZ2Tmv16vftx8pDV6WYEaKlAOzM51OB9UOHjo8+PnAqoYIJi6NjY0mk+n8RxeQqzgSaC2ZTDocjoOHDtvtdjWxl+mLsnoZcOipfASWzLrhA+xgXfx14qQvHW8MckpD5APMPptdRePWdJUllEY6cRzn8Xj26Pbs0e2xWCxqKY2IQGQFs9ms0+lAGb4q87KppzzOCHQ6nclkYhgGB4CFqadECQ8/MTDVz/H3xJo4MOrdoYaClktBAMStgHxOSgt3Hv3xXO84TLatPg6jgtq8UXXs7qyUJmTGdymdlrNOQRrkd8DzfKC722KxJJPJgmtdiFgWDAYtFssatGXQvk6n02g0IO3NZnMwGMS5gCwTL26ItYJ7aUajsZQZAZXV+Q+UHlkGgSyrIaH0/5v8Y/udJ+ncGgqlQT120he++OsE7GAhgwt5Vi7T12aeIsHJBQGWyvBDgDNk9bBmZuei0Wj+jpS6TsGyKIocx9ntdlTIabUkPANo3SB8ktfrPWB4ZddOYH3ai5vnl8RRK9g4ZXVBWOjBYggQVkM4fu7ZQvfYszO9KdyRBtNumzfaxkSufvZQnVAaiJ1udFNldbEbK3ZcraAqKOexQrEWih0XRTFyb0gdnkGn0zU2NoZCIZ7nvV4vhE+q21Gn1WrBlE09cSjWLJ2BL4MMPVUYAVEmnhhxQeoee+a4MXa0YxhW0U1d6RCCbUyECT8Ahw2U0kvbKnJ4aaUN+qRmprpcsDtkbE5NlNvFKhRsLf/gzOwcy7KgTk9LZK22qanJ4/GYTCaYeEOsFYfDUXpgBiqr86GmR4oiAPPvxHOJiTx2MMNqt0piEOoJtzGRnhgP6u6MKWjR1jblRA4/1z+GdTYIxG5sbARWwzL7gOEVMFCt21FnMBjUXtyldEdZvf7HWoMtFPvqpBNKs0Td3eK+g24bRztIwg2gNIbjr05c1GIWRljsZpcff/5V+UeWbwHOwobZ4OcDDQ0NSGxUoWm1WovFol5Ll9ILZXUpyNM6BAFeWvzNY7m9LwHx949fmbC6Y5Agnqylrw3fik8lpYXJRRkycqgU3Zs55V7m4ZWyFwWaMPwtKNhaKUwreCFovEGdHgqFMNAKenE3NjaicQv0Usqcn7K6GNr0+BIEpiU5knzu/Hji+JV0xhwMTuTovAPW3WA3tuK+dDXMzGdm5ziOczqdyxM7mUy6XK5SFrTLE3v5swB0fGzUZDKBFSqsqHfX11ssFjWZlzwS5UPBlimr84GiR4gIgbeo+D1PS3Jo5NFZZtjq4zDvrM0btfvYM9cHu4L3IT4RXFP98MFStrm52Wg0ejweIHY+PZLJZFvbqYOHDttstvjY6PL8X+ddJ5NJu92u1+/F0KUwGz946LDX6xUEsu9QsIuCxymrC2K1XQ7izJh8ZSTVO8NqCDnWE3t4lhluvRh7pyPtWZnOa6eouzl+CuTzlkBNFMXBzwcgFJlWqzWbzZCaQz2zFUURU3NotVq9fq/NZsOZcHlvc2Z2DvoyGAxqw3IQ17t2khECsUsP/0RZXd5ntGVbU1NaSstqdNhou0aUYWhqQgqKbuzGFyQ+0RaiNKxjA4EA2m+D7Qek5sCHx/P8+Y8uYGoOrVZrMpki94awQhkLQGl1NGKj0WixWPbo9oC4xhHiCn/F3imrV4Ro21TIIbZEMmz4BibUO1hWHwkhSCit6MbQYaPw7LAqkZuZnYuPjba1nQLBCMwBa02YzaJnNdppGgwGl8uFiuiCk95V3Su2AJl91KEO9fv2ezyeyL0hu90OI9y1U7trpxa8uEsU15TVq3octVtZ7XEhkTXc3YTg7uNO+sKQW+PIL3935Je/s3mjre7+9pux26l5UHdPLqYn61sIGphgY1QTYK/ZbGZZlphnBwJo1AVx/J1OJ88TT0l4l+tO4edDv2+/+ucDFHhgT2qxWGCLC/42NDRE7g2VMgzK6nI9oy3eTobVokz2pSA+0XueQbJ3pbhVft/3oKmLs/vYruB9MAVNW4QrWrWtePMQ/ECtnWpoaDj/0QWQnLC3tLu+flVGXaXjIAhCIBBAaxONRgN9TT3NpgEBL26YTQCx33j9tfjY6Iq9UFavCNE2qgAOG58+mDp3g/vx5fg7HRxRj10m4buburgTV0a7BhKg7oZA36hs20IY4c6zKIrRaLS5uRl1VFqtFmhWt6NOp9Ptrq8ve2Jq7H3qKfEJg9ClaBOao5ATBAG8uCHdV+nLe8rqLfSFXM9QixAws5aG02N/ECF2t80bfaeDe7cr9W5XyuIeJ7G7b4y5+1PcJIl5gm1BAbfB1jO+TbkWwp6orTVBRIPe22KxxMdGUTde3hGq1ex6/V61TSh2BH5jwWCwsbFxd309qOshagrWKVigrC4IS40dVNOw8K0Jsjz2B/HaSOp9JmLxx450jlk6H1o6H77blWr1j4DDBsdPFdKKrdx44S6XPYr6pGVqodxbps6Kp2Zm54LBIMy6cX2r0+kqk5ojmUx6vV6bzQZpQNSjxV8TQRCCwaDNZgsEAiW6fFJWq5Gs1bKaeFjO3uy0JMe+nO/8zThQuqmLg2zSls6HVnfsLDMcivOpKVEkO9o5L2wNCjln1/IR+Axiqtj16m88lotVLngcr4J5OBp1wfIVoo6A7QfWLNjO+g9C6LLl24E6pfzSQTuU1cvjWctn0bRziF9w93Gtl0JHuyJNXdz3fQ9A4231cc6PJ/rHp6czO9h5cJSZ1UghjuNcLhcyvOAXGnZ6weW4RCEG41dXnnrKOxyO3fX1IKhxi/iA4ZUV7Unz0FjjAbhrvFh9s3hKfRBrFitQVhdDppaPIxd5aREpTWKYXJ0Ag1ASSNDHtfeRYCaE0uQ9Td5kTa1+YUtlk9UglxobG9Upb6BL9Tc7nShn334I7gkBOtFZQj3EZcqCIJCoYPq9QGlcVGOgAoglpu53mdbWdgp/yJa5XP0ztEw1PEVZjVBsiwKQDzelbsWnTveQ/SqSKMdPkubA2+aNIqXTPIatr40HCWL07a6v12q1YAWdTyow3jAajVqtFmP0lUIP8I4C8k895V0uF8YS1Wq14E2BIYcwSCBGF934uy9PD5TV5cFxq7SCfE48l/ruT57uyWa0gzwbRDd2bbhwfKL8ZfUG3HYwGARKwxIXFL9o1yXL8tRT3uPxHDx0GPd7jEbjaoPsTz0lIYTQThNCCLlcLpZl0csCZuMNDQ2lq6nKggfOutWt5f+0qc/mlCmrcwCp5Y8oqJWE0g/bFHU3yud3OrjWi0Q31jOYTE3BDlbaNqW8NlXLQ8xxHMlBuW8/+hhDVN2Z2bkXIgm76fV6TSZTzgKY5/nSp6k8zzMMA43Abwdk24FG4mOjNpsNTb7AWjMUCm2oz5Yak1URWH0hlimrEYoaLwClwWGDCT84c32w9VLI4o9h7G6gdN8IqLvTDh55C+kNRwmDb4IDBuSgfOP11wKBAPPwkVEAACAASURBVLBxSVaNffvb2k6BJMcZ+PKsEEUxGAyqfxcg2w5agECQQIvFAuttjUazayeJJZYTiHvDgVhHB5TV6wCv+i4VM2mgYWgoY8k3XsmbwT6a6Rog8YnABysdu5vkwQqfZYb7RnheyiSUzhqbbMJ9xsdG0W8JxKnJZHK5XLCWBjEOiXLyQxqsyOpAdzcE4tZoNGABwvNZO01YdUOQwN319dD7wUOHWZbdBCDW1CVl9Zpgq9aLlizJMnZjsmINJsjyMD/d0Tvceilk80bBaKz1YuxH5wd+dH4Aw/GDSM/RdG/K7cbHRpuampB+YO8FfIacdTabDZwucHjL8xmrwTR+d309qMdyfhdgqo9u2HU76kwmU6C7e5nQBdhylRQoq6vkQZRpGBknDXVzIKX7x6fbb8ZaL4WsnjBJJa2ou62esKPzzsVfE+tujE+kvrbCZVwbw89TNBp94/XXYAkNfIYtKL1+LyTKWfPwIOslRAWD34L8XwQgdlNT0+DnAxgvpWKr6zXfGo0Hvh7oqu1alLLZApSS0kLfCN9+M/aeZxB2sGDiDSEEr372UE3papDSamSDwSBqqlF/ZjabwUJbXbPEMv5wQM5akMwFr4VfFrUpOBzJ53/ByzfxIJXVmwh+ubrO0ljlaEEOCjJkn3146vJg68VY68UYxDMhrO6KOJhhJspzkyJK6WwqrHINbd3tQIw+tZXIHt2ehoYG9V4XdFIi2ZYsUuR0clm8FgsFB55zbcE61XCQsroansJ6xpBHaWU5jRk2ro2k2piI1RMGHyxwwDraMXy6h/OxCe7ZAtqNVoOUziEVxANE2y806jQajergJKuFL6eX0rmKcn61PVa4PmV1hQEvY3d5fFa01qD3Bt0YOGwc87Mgoi3ucYubJK883cN1jz0b+wMR5vmtlHGI62mK50mSV4PBAGQGK06YhIPRyPmPLuSscnPomt87TqHVNdXl/EvU5mgr1ix4eeUPUlZXHvN19phPw+wRKAmyHJucB4eNFvcd4lnpGQFi27xR58cTEJ+o9CiC2ME6h1765YIgOJ1OdViSXTtJFgtkeN2OuoOHDjMMo5afwLpSuIdX5VfOP6I2L8cLS7+XytekrF4v5vglwMIyLWId/HLgkWWuWnoKKYaF9HmkdP/4dBsTsftYmzcKdqDWqxMt7jtWT8jdn4Lss6VTuvL2KKIoer1evX4v2ITW7ajT6/e6XC6Iy6/e6zIajYFAAPEBMFcPKTZQIwXK6rI9SPDUzZ8WYgcw/RMEweVy5XvJY7VlC8jkbCFbkuWktHBtJHX6k9ETV0YhPlE6SlFH+H0m0vmbcfbRDNqZZBbS6gYyx5YdxIaenHpKzDnNZjOK5d319W1tpyCgV9qeVL8XpuJ7dHswPGjObHxDB1nljVNWr+sBoViAbRKLxXLw0GGn05lMJnEJp+4A/IQOHjpssViCweDqZcsSBsIHtcPGrfjU+4puDObb6b/umN3H+thE7EuyKQ1XpWP6V9+yOhQKgecG2IoaDAaHw4Eh+ERRjI+NEkNxJc0F+Gy98fprkXtD+CzUgG/PMmV1eZ47xLWDr5p+336INZujXJ16SmLHgwVyjv/g2gYB5iXA6rgg9cR4BzN8zM/CdvS7XSlw2PjgWpyJ8rEv56EmWJUWYfXaBlLOqwKBgMFg2LWT2J6ATSjHcTk/kZDMHXTjkN2CZdmcOuUc01Zri7J6vU8MRATLsmCiDJFoIYGTOgrszOyc1+s9eOgwOC3U7ag7YHhlPZ5AKKiT0kJ4cp6JPCbZZzvC1qsT6FPZ6h/54FocUlUipQupvdPye71YlON6juMgJ7vBYIB4gPmtiqLIsiyEBwWPLoSaSmxqW5b/hVndEZTGPE+cfjFQzq6dWoPBoE7gFAgETCYTBqnV6XSwVkS12ao6RkpPLsq/eSyf6x1Hhw0IZgLJaM/1jt9NCAUSSqdDIEAzVURp0DaTWNnd3ZCzrlhQezDnbG5uDgaDM7Nza4NxVZhvocpUVpftYfE873Q6dZmXRqOBUB4QxRIkOWy6arXatrZTOU4Fqx2HIMuTi3J4ct7dn2q9FCIqbh+J9Wtxj1t9JLzJmcAQ+2gGAnej85aqF0LmHB8v1dmcIvI/53j5P4LSC3LKqVtXC2GcbINHdKG7U1+67cqU1et65PBVQ0EBhhMokMFYArz8MS/xrp1au90O6jT1RuhK40BeEZ9KUckRfzs17/x4wuohPljwBjsTu4/NJpRW0uvkN458LhQ5tFD1tF4t/1T5j+AMKAcfJDayGo+UfxBbuUXK6jI8PfV3i+M4iKRBtD3KC9fbkBHCYrEQ/3uVm2RpI8iyGrLPdo89czDD6H3V4iexiqye8KnLg76Bidjk/OSiDGvp0tqntWoHAcrqMj9L2LW22WwYygMzOYHem2VZlO3qn4Nlx5GltCjLiecSE+UdN8ZAKwbBTCz+2DE/yRHfM5iMfUkoPblIMmZt/gb0sjdGT24EApTVZUYVJocsy0IgHjSlAOd7CJq35gnktJJ9lony7zMRtBsjOSs7wuBW2RPjMfssFdRlfrRbpznK6g15VjzPNzY2gsEjWEHBtirRkKnn3lDOmoIUHQykqhziF3xswu5jj3aRvDnwPuZnWy+FzgSGbsWn1JTOyveirdITtYkAZXX5n+vM7JzT6QQbCZh+Q4hpsKlY6hisph6WVUNStqDA2uTOoz+e6U0hmS3+mM0btfvY455bro/v5mefTTeXVq6p2qTFWkeAsro8TxjVtrC/BeE70G2wbkcdBLXbXV+vzvOirKuRzFjIHRIvLfaPT5/pTbX4ScbZlsukQAxOPCHHxV9dvBkZfUiS5uD16kImPKFICvS1PRCgrC7Pc8alMhqQAY31+r02m02dchE8/tWZ2fKMvZYMiZ+V+0b4D67FCZMvp4788ndNXdzRjuETV0ZPXR7s6B3m+CnYlC5I7KWNL2mZfqhVBCir1/tkUY8NAe5yolU7nc742KjL5QJiw14XGDmS+Jhz08vL0tSU2BPjzzLDNm+0xZ9OVdni52AH61/YMcg+i8K50M0se7LQBfTYVkeAsro8TxCMHBsaGoC3Wi2xGHU4HJCxEbI3HjC8QpbZO0gVzDBejNXTkkwoPZg8/ckoWJi0XE6BlG71j8AOlpJ9dsnEe+nNIJ+hsPQk/VS7CFBWl+fZDn4+YDabcY8aYserw1NiCC6kvdlsHvx8gIhr5UXm8Mp0GabT3KTIDMTbrg23+kfABwv+tvpHSELpkUcpVYp4pO/abgbibKLFNRawNVhfCILwgq7NEZQqLlBWl+fhBINBdYQtm80GvoFqm8dkMolrbMgaMfj5AEzggZawwyzIciT53PXxXUfnHZs3itZj4LBBwvFPPFESSmdHvk5WY2gubBHtZOAIfsTlBtakhSpEgLK6PA9FEIRgMKjft393fX1jYyNKaWwdxB3P85DAyWAweL1ekkI1MwVHSt9OzZ+7wTk671g9YUxtZ/NGT/rC7TdjdxNCmtKqgP7rZDWq+gomrIKz8PMkiqI6CzyewtukhWpAgLJ6vU8BxdfUUz4UCoH/IB7Mb53juObm5lAoRFyCl1I6KS3cik+1XRuGhNJWdzp8N2TY8A1McJMkVWV2Gly+zaqZ2blAIGCz2dDtBGmM1AVj2MbGRnALX+Ye8++aHqkkApTV5UEbxR1K6WJfeuDGi7lppLQoS+Cw0RPj2xRTUNB4Z5PmMCShNDdJAv0Wea1LWguC4PV6zWazwWBobm7G7JA5xMZ4L6Dq20J5p4qAVrOHKavL/2iR4QWbxrPpgkx8MOKCxIQfYGBQnHgf7RgmGTYij+OCRLajlRc0izxWFFj4qWCfRQ9Cg6FQCDfkdDqd2lEU9QLRaNRms+2ur4fYQw0NDRhUqGjr9MQmIUBZXTbgUaVUvMU090CMg6zmpcXYl/O+gQmSUNrdDwlo01Lax53u4XpifFwgwhyJm19QTsLCfNVKakjXrE7RDgp8WD+DPpznebvdDlHZIPBDQ0NDfjix4jdOz1QUAcrqcsKt5luBdlG/pUQyEDPBTNpvkhigJ66Mgpa71T8CPlhnelMQ6LcEh0rsuUC3Kx6CRbVah48BmERRREqj/5nRaIQAqRC3pNhaY8V+aYUNQoCyumzAIrFyChmNmGodrUQy4aXFnhgPsbtPXBn9wYXI8SsTx69MWD3hk77wuRscRAXN3z0u24hVDUEUbkjCjrauYLLucDjQMA425HL8SVXN0GJVIEBZXbHHkCa7KBI9dkJY/F//91etl0InrozCjvQPLkR+cIGkuXN03ukaILG7U1MiGJyql9O40C3juMEKBXRm4D0KrmZ6/d6mpia1DNfr96Y35IjJjEx25pRCGQdDm1o/ApTV68dwdS08mZ8PjTxq6wxYXT0QQhBW0SilQd3N8VMul8toNL7x+muhUAj5U14WQWuoEQCHM6QxxNAHhu/aSaJzQyZK/JWBy8s7pNWhSWsXQoCyuhAq5T6Gs+hpSf63L+4Dpa2eEEy507F+Fd1Y10AiLkhA6cMHjVrl1djYiArnjaAQsFQUxZnZOQioiJkxwJmUTLz37W9rO7XUObzcMNH2yoQAZXWZgCTN5Cyo4WP2xLREUlW6Pr5rdfW0uvtb/SNEMebn4O24MXY9JsS+nH8y+9zr9R4+aFT2kL6i1X4FtVNlHCs2hZRGCYzhmUBKA7EbGhriY6P484RXYTu0UD0IVCmrS5FIpdSpINCFKY1HeWkxPDl/rnfcobhVEjuTDpJqA9TdVk+IifLcs4XUlPh//+VflX0mwmeY90J+n43IDofkVBdIPsp9+2GagLIask+qLU/wV6CCINOuSkKgSlkN0duXuQNRFNXfsGVqVuoU8lddSMfunVyUiXV3L8kIf8STls9WNwlRZPWEjvzU+5++Z/2oe+DJ/Py1nh4l0jChtFb7Fdhhypn3lvfnDBfVoP0KBoMHDx3GTay6HXUQyRxim8OGVnkHUKkHtI36qRZWq78og58PNDc35/s84WOBTVSLxRLo7p56yuPxTS2oyUzKoOsGt8pb8amzDLHubrmceu1C/IdXU1YfZ/kFMTt568TPdd949U//7OsHDK94PB4IHg4SUqfTgYd2zn2psco5tbaP2GAoFIIVNQ7AYDBAvmgQ3SaTCba1sKONmEFg47SwNgSqhdUwevB8AkdltYoIPHtfiGmTSZ7nIeA2mRZ2d+eIsrUBUY6rssSG2akgy9yzhZ4Y334zdtJHgvu+5U/B+wcXIh9cix/33DKa36x76WWQjQf0ehDRWu1XdtfXWywWjuOyvhzKT0U5xlmgjamnPLiI41par99rsVhYlrVYLDgbh3gPatUdnYcXQHOzD1URqyEfGgTc1Wg0u+vrm5ubIXs7fHXgbzKZBLsIMF00mUyB7m6UNpuNZ7p/sN6MC9KNL4jDht3H2n2sxR9r6uKO/PJ31qsTJ66Mdg0k7v37ox++a9+j2/NVjUb93l1f39T89m32i8rclyiKoVCoqakJbLxhQwunS5B9EkKmQvqRpqYmtSFKlWBOh4EIVAurgbHxsdHGxkaY8u3aqdXpdDabDRKOw/cbIopgjhutVgv5Yivz7UfUihVQWBPr7sl5cNhovRSyesLqiL9nelOg7hZkmWXZ7736tzptltU6ne7gocO32S+E8jlaFhsw2LTEx0abmpr26PbAlAF+TyGiAzyXyL2hpqYmiPQCcttisYDPZpUgv8wNbsNTm8xq/E5AAWbgGP0L7BPtdjs4Ekw9JUknjUYjrvQg9sBmLq3RtFv57mCsz0jyeddA4qQvfMzPHvMTKY0R+duYSPfYM8w+y3HcG6+/tmunFmV1/ct/bjKZxh78R46jBmJV3q8pibgWCECo47oddbvr69EfCzgPxAa/LkBeo9GYTCZUfJR3PLS19SOwyazOuQFQaweDQaMRdmuJYNhdX+9wODiOczqdBwyvYMZJ/b795z+6IAiCWoub0+CGf0RWL3XYcPdx6YTSGSl9pHPM5o1CMBNeWiRTdEkUJLGt7RRYWSOrv6rRHNDrHQ4HCUIqkhgJ6qV1ee8IGMvzvMvlAlFsNBpJNDWlU3U8M1EUg8EgOGwaDAan05lMJjcT+fICUVutVQurURDB9wyiBeH+ik6nM5vNEKMT1Dlardbr9VaJngzGDGvpuwkBdGPggAUiusXP/fO//u5MbypOZtXpN6T4MHzzO3UvvazZQWKPwhvoDcTOmYYgSmX/EvI8zzCM2WxGRQZ0gbxV/+AyDKP21tq4UZX9NrdJg9XC6hynBVEUGYbR79sPxIa1HOS1ASWZ0+kkEYKqxrVAkOWkRNTdZwJDMOs+2jFMUs9enYDYoO13noAPlixNw76Xx+MhN5ih9K5dex0OByql6nbUGQyG8x9dUBMb7ncj7hr2/4tNquFnC0xKBz8fAIZvxDC2Ces2+jari9XqLwrP816vFz0NUG5DtqqcLZ/ywYQKryVNqge25ITyYVoilCbZZxnCZIs/dqRzDOxAj/nZ95mIj02MTi9A5ANZFsHt8eChw/hrBVbWyWTy/EcXlAl52grl8EGj1+vFPWEYxvKDyR9e6UdKabmUOqX3SGtuBAJVxOp8cc1xHKheNRoNstpkMoGF00bAobLlLrV5iE/UE+NP+sLgUwkJpUlE/q7I6U9Gc4KZAKVRI6jVavX79ufkA0DzMtCHw4wXuV3qyGi97YpAdbFa/RRAN6uOvAPEhnlp5VfUOYorMilVQo5Fks+vfvaw7dpw84cDqOuGwulPRjH7LN5a5N6Q2WwGN2aYZjscDlzNgtmc0+nEQAVg+DH4+QAucbEpWqAIFESgWlgNK7f8rRQ0dYLJKgjtA4ZXYF66ubNBXloc4hfO9Y6DkQlJOntlAn022vsSt1PzSWlBiU8k4SwgFAodPHQYWA0b8hgADJ8Qx3Gwxoa7NhqN1OoDwaGFFRHYZFaryQxjBU1MNBo1m81gyQR/YZsaF6IGgyEQCKg1sSveaikVCq+ql16JqSf77k9mk2BlvK+aPxywekLu/tSdR3+EHSxoE1nN8zxs3en1e994/TV1mF51P8lk0mKx6HQ6vX5vIBDIB0pdmZYpAmoENpnV6qGg4MV9UfAx0Gq1DQ0Ng58PQORaXGDr9XshSIi6kXWWC7EajxGrELAzSSeUDgwd7Rhu6uJQ0X3Mz7YxEYhPxEuLeGWa0tK0ogAngYEGPx9A6xpkbM7gOY6z2WzBYHBmdo5Ov3PAoR+XQaC6WC2KIlgvgvefRqPR6XRvvP4a7Lgkk0m73b67vh6JbTabWZYtoxoJeZix60ofmJ+Z4zhOkEReWoQogm0MiTGGMQ8s/lirf8Tq6unoHc4J9ItSGgpg2oGpbfDZ4I+aehmSTCbpNhJCRAslIlAtrAZ5BdIJebtrJ5HSIKzgfuJjozabDb0Fd+3UIudLvOHVVyOO3IFAoKn57X/74n7sy3nYwbJ5o+Ct0dTFkX1pT9jq6vmHd51tnYHf/v6JmDE1UVE63TPcKcpnNZlxbDl18DgtUARKQaBaWA1jVSeRgIl3vpt+fGy0ubkZYtzCtlD5fbayBmBkbznQ3d3Q0KD72qH/8v7P22/GPrgWxzyVLX5C6RNXRlt+Fvh7y//QfePVb//9a2mjN1UjpTwJWociUC4ECrMapriRe0Pl6qbEdnie93g8JpNJp9NBsK6C+jDwDQRNEpiIl89SWj0HJyKTZdlv//1ruq8d+stvf7/xxPnWSyESz6RzrOVyirw7SOzuk74wUJp4Sr/0MuyoKzZh6daw0RJxoNUoAutBoDCrQU1VGVbjXBQUQoIggEEyKH5z7g2nppF7Qw0NDeBjUHASm3NhqR9BoaUYdRK7TlkKjTwymt80mt9sPHHe6iGUVqe2O+kLOy7+6rv/9X/qvnYIbD9hCzqTbp7QGSgNarZSh0HrUQTWgcDmszp/8DOzc5BLFU4VVP8KghCNRsFGumCF/GZLOwI+GiT5JPAwKS1AVFDw1iB/fZzVxx3tGD55nesK3v/H5lbdN14FSsP0IRgMvpgjxt5g742COqOBK20gtBZFYK0IVAurc+Rt/l6OugJKbCys9fbzrwNWE0YKsjw6vXA9JuREBSW6bk/4R+cHTl0e/C/v/1ztdLW7vj7tz1SRgAf5o6dHKAKyLG8yq9VcVT8PpGuxClh5xQpYs6QCOFQpgnrsD+L1mHDiyqjaDrTVP/KeZ/DIT73f/a//8x+bWw3f/E6Ov3cxU1a4o5LGQCtRBNaHwCazGgZfkJlqGuTYYK/vlpe/miyDSeChRzM+NuG4MYbbV8TaxMcRVdlPvYf/6W3dN16FtTR4hh4wvIKLfPWUW7k19YHle6dnKQJlQKAqWF3KfahJXkr9tdURlWyVsS/nuwYSrZdCZAfrcqqpi2u5nDrSOdbqH0mruxXdGMYG1ev3AqVJFFTVDrWykM4cSGvg1jYuehVFYBUIbBlWr+KellYFg5Clx3I+pYknyhKE43f3p076wpZfDL7TweHb6o45P57ouz/55rEPdu3am7FmJY7QGEIkp90lH2H7eskh+oEisCEI1Dir0cZLlKV8/HBiD9UEWf7NY/lMbyqt7lZ03aDxtnrC7X2J8OT8R90Df/Wtv3vp5Zc1Gs2ul18if3eSyGqQ6jm/C3qEIlB5BGqc1SsCihtZiedS3/1JBzOcprFCacsvBi2/GDzpC1+PCaPTCxdvRkDjDXlqtNqvoEX6AcMrwWCwjBbpK46cVqAIFENgW7E6s8TNLH7hM2TYIOH4rw1b3bF3u1IW9zgoxmzeaNu1Yd/ABPtoJvBp/9/+P6+99PLLWuV1QK83f+uvIS6nRqPRarUHDx0OdHdDmpFicNPjFIEKILCtWE28ofAtypKQ0Y0xkccfXItb3TFL50NgtcU93uofaWMiPTF+mJ/OpzTJ8hUI2O12dWQ1sBUtq1VMBb4DtItaQ2BbsXoJpUVZ4qXF26l5ohu7TnatrD7uP5///97tSr3TwbX6R05/MspE+diX87fZL0i2GmUVrdV+Ra/f29TUxLIsuGeC1zcIcPRIoVPxWiPKlrqfbcXq7JMBKQ0JpcG0m4jozocW9/i7XSmbN3qud/xWfCouSPf+/VEmGQ1Rd+96+aU3Xn8tnRdSkmVJjkajELRETWyWZcHhBLfisZAdBC1RBDYGge3IatiU7h+fbr8Zs/tYtbcGMPz0J6PhyfnJRTk1JV7r6VHcudOhfM3f+muIHCjL6awaL0Q5mUy+8fprGGJt106SgQDm4UhmLGzMc6StUgSyCGwvVsNWliDLPTH+3A3uPc9gTl67455bTPjB2B9E0I0T/vPEv/qAXr9rp9ZoNMbHRsVMRASyMs/Ye3McB+FQtVqty+VSh+bPgk1LFIGKIFDzrE6vpSGEoCDLCWHxxhe88+OJH1+Ot16MwftoV+RoV+R9oht7yPFTSGlREchTT/nuy4z5W38Ne1ckP5ZiVQpR+0kHymvw8wGTyXT+owvJZLJ8/t4V+RbQTmoLgW3BamC2IMuxyfnrMeF/X0n8uIOzumNWtxJszBO2ekKnPxm9NpJKPCfiF6QxedDKylmWZIiIArtWL0RiKK5mPoQim5mdC3R383wV5Qmqre8qvZtSEah5ViupJ2EHa3Led/fxjy/Hf3w5jnagNm/U7mPPBIZ6Yg+V1HZLdr+Q1bIkQ1RAwFWU5Sfz8zmyGlJVVcZevdTHS+ttSwRqnNUgpXlp8W5CuPjrxI8vk01ppDR4a7TfjPWPTxMprexl44b2kkJGaAPPiV9XJrVteooPbFay+VHF2LakUhXddO2zGijdfjMG8YmsPg5S2x3tGLb7WHd/in00szR2d9HHg3TNUJhGNymKFT2xiQjUOKshHP9ZZrjV3Q/qbnUE7/a+ROxLsoMFWjF09sh5Hkq4ImUdrQ4butQHi068c0CjHzcRgZplNaS2A3U37GDZvFHQdR/tihzzs767j4HS0wW8udRPJD3Fzk7Il87GZYnowNUX0DJFYHMRqA5WowxcEYxMUpulSi0ibJF1EMwkLkhM5PHJ6xxYgMJa2uoJ230kaQ5mnxWUvauVulUTe6W69DxFYLMR2FxWq9mSLs/PzKk1z+myyisD2Jt/JR7npcXY5Hznb8ZJ8H0/Me1uuZwiZt6ecKu7/0xgqG+ETwiLsIO92fjT/ikC5Udgc1itWoVm6UmWr5JYIqshznY+HtOSfDchuPs4u49t6Qgf6RyzdD5Et8r2m7G++5OJ5xKldD509EjNILA5rFbBl2U1pokrtEzNVoOSqoVscVoidibuPg4ybGD8A7DuPtc7fjchJKUFMCDJXkZLFIHaQqByrMbdICCtyvmB8BReSOy8SXja+DpLbvIYVBbZirFX//j0WWb4pI8E4odUWK3+kR+dH3jPM3jx14nY5DwklM7sS9fWk6R3QxHIIFAhVouiyPO83W5PJpOyTBI4o6U0uiIDse12ezQaRTdG5Scgy+VsiZhzZlgty/ysDJS2/GKQmIJenWjxE2L/6PyAo/NO10ACss+imWfm9ul/ikANIlAJVguCELk31NTUZDAYLBYLx3EgrnNm2oIgOJ1Oo9FoNpsDgQBhu0SYjsptWEvDZ6S0KBN/SYhPZPNGQUof7SDhx1ovxs5cH+wZTKamiD8GNlSDj5HeEkVAhcCGs3pmluRzb25u1ikvvX4vZrFEq48XInGfOP/RhYOHDmuVl8lkgux5WeYrkhmZiQVuMk1pq49DC5OjHcOtF2NnmeG+EV5NadWN0yJFoGYRqASr42OjDQ0NQFfION3WdiqZTMKUW1Z8mL1er9lszma30e9lGCZL6UL4T0vy6MNp38AEBAZtuZx6y0/eVh9xnG6/GQuNPHoy+7yQgQj+JhRqlx6jCGxxBDac1bJMvJ28Xi8EFYBQu/p9+51OJ8/zxKtRSW0LOauB+fp9+9vaTnEcB8K8IMKCJI4+nO4K3j/pg8Mg4wAADuVJREFUC9u80aYu7vu+B0d++bsfXk3HJ7qbEIoYjSGlC/G9YGf0IEVgSyFQCVYjsSEcZ5q6+r3nP7rA83wwGATCQzaM3fX1DocDAg/ksBrpSBw2Jp509A47Ou/ApjRIaRDU7v5UbHK+BEpTVm+pryodbMkIbCyrcY4ty2Tl7PV69fv2azQamGnrdLq2tlMYeXfXTq1Op2tubgY9OXI4p8BLi30j/Fnms7c/7DvmZ0HdDStqmzfa3pdVdxONWu5L3VjuOfqZIlAbCGwsq3MwEgShre2UXr8XU17gQrpuR51Op0tryMludVZlrSZiUlroifFtTATcKjEHbUsHMfD23X2MO1j5hM4ZDP1IEahVBCrHajA7SSaTDodDv28/RuTUatPhOxsbG1mWxa0sNZnBAQt2sE73kHSzGBiUbGJ5wm1MhAk/UKu74fJafWz0vigCyyBQOVajQpvjuDdef23XTi0spL+q0XxVozEajcFgEEzBYS9azWpBlu/9+yNmIE6S5ijh+HETq9U/Atbdqal0vDER97KVwjI3T09RBGoSgTKzGqm7DFjJZLKxsVGn0ynpqZTQ+Tu1hw8aBz8fgHU4NgLEBh+sruB9R+cdkhS+c+xI55j16gRMv9v7Ep8+mHoyP69MuZUrpGmF2Ok5/DIjoacoAjWJQJlZrcYoJ7ksKLRhaX3A8AqZge9Iv7Va7R7dnubmZhJtW3lBO4IsJ6WFTx9MnesdT4f47Rg+qrxt3uj7TMTdx0WSzzE+0dLFuHostEwR2EYIbACrl4b+QSxJGG1JdLlcBwyv7K6vJymgM6zetVNbt6Nuj26P3W6HyLuE2kpg0J7YwzOBoVb/iNXHWToftvjJopp4Sl8KdQ2Q+ETUAQsRpgWKACBQflarha0aZVEUPR4P2IQCn3U6XU5OyfqX/zxNbCUcP6q7wQGrxa/kuPOEiLqbJTtYk4skLjdVjKlxpmWKQPlZrcYUV8gzs3NoXqbVpiWz0+nkOK77MnP4oHHXTi0oww8YXvnJzz66mxBufMGfZYZB3Q023kc7ho/5SXwiJkJ2sIDS1K1SDTgtUwRkWS7MathPjtwbKgtGgiAEurvNZjPuZqGPhyiKxDrlwoeHDxrB5uxP/uLrh//p7TPXByGhNIbvtvhjx/wQjp8HSkNsULovXZZnRBupJQQKsxr2nMrCalEU42OjkDISbUVtNhsqxl4IMzzPu1yuQ6+a/uQvvv6X3/7+P7T+HyvJkhN+pyMdS7ClI3zMz57u4W7FpyAcP3pKZ1XfdCZeS19Mei/rQGDDWT0zOwc+WzqdDlK6WywWSBYLK3D4+9vfP/nJzz76ZmNz44nzVk8IgxOlC57wud7x26n5pLSg3sfOozSV3Ov4LtBLawWBDWc1sf0UxcHPB2CPuqmpKSdZLPH9UNTdTPjBcc+tY34SRZC8/Yq/tGIK6u5PhZX4REt9NnIITildK99Keh/rQ6ASrIYRxsdG0xPvpbZfsCl9Kz510hcm8YmU4EQtfs7iJzl0YAcLZ92Zm83nM1WEZ7Ch/7c9AhViNUyzMVICknJykdiZMFH+pC/cejFGNqXd4+StUPp9JnJtJAUOG3hJZicLD1A+b/tvMQVgKQIVYjV2Cok1QNc1uSjHvpz3sQmHsoP1Tkea0mQt7QlB9llMVUmm14VdubBtWqAIUAQIApVm9bQkT0tkIZ2UFmJfkgwb7zMR2JRWJ6AlGTaUcPzKdjSxVss8LiqiM0jQ/xSBIghUlNUoqCH7rG9gwu5jQctNHCrdMas7dtIXbr8Zu5sQlkjpAt7WRW6IHqYIbHsEKsdqsOvmpcWktNA/Pt3RS7LPkjyVirdGq3+EvC+FOnqHIaH0UgNvtYgu5aFh/VIq0zoUgZpCoEKsJtoyRc0lyHIoTuITHffcOukjdibvdBDr7lb/yHHPLd/ABIhoyIOVpqaialMpybIPALkLheyJrGxXHaNFisD2QKBCrIZNaaLuDj84dXnwPQ95W34xmElAS3awmPAD3MEqsvWca/RdnNXb4+nRu6QIFEJgFaxGV41C7ZBjORxLf1QytkOGDeJWeX3Q6glZ/LEWP3fEM2LzRkn22euDPbGHK1G6WLf0OEWAIrAEgZVYnecsDdyG/WdsCT8WJDaE42cG4iClMeRYi5/ko3V9fJdSGpGkBYrA+hFYidWZHlBQQ0iT+Zls+juoghWQ4RAmgZcWI8nn7j7u1GUipSE2KBD7+JUJdx8XiqeT5uROrzNd0/8UAYrAqhBYHauBsTOzc5F7Q1NPeXU+WoXVRFRjRMF/++J+7Mv5W/Gp9r6E3cfafSwousHM++R1rr0voVZ3U1av6snRyhSBYgisjtXgqhEMBhsbG0lIUGFmqU23KEvTylsce/Afbx774Mz1wRNXRi3+GIQQxFj8DmbYd/dx7Mt0Qmn1vJ0MNG/aX2z09DhFgCKQj8DqWC2KYiAQMJlMu5SooOgjncNtQRD+sbn122/+t7c/7DvaMdzUxR355e/I2zPS0hF2MMMQzAR2pJfuS+co3fIHTI9QBCgCKyCwMqshgzwsp0OhkNls3rVT+1WNpv7lP//eq3/LsqwyFU8H4Z6Znfvt75+8d7r9zWMftPws0NIR/ud//R0mwWrxc44bY0hpENHZAaZFdK7kzlagJYoARaAEBFZmNfAZVtTJZLKpqan+5T+HEEi7dmqbmpog4QZU4Pipts7AkZ96IQkWmXt7Rpq6uKYu4ll5uofrHnvGPVsosoRW87nIjnUJt0SrUAS2OQIrsBoorf4Li+pdO7UY7tdisUTuDZHs8/wUJLVrcd+xesKYBMvij0Feu08fTCWlYpSGB6Em9jZ/NPT2KQJrRGAFVue3+mJuOhgMNjQ0KFFBSSQy3dcOWX703//ti/tAabJ4hjAmfq6lgySXdjDD7v5U//g0Ly2ClKaCOB9YeoQiUC4EVs1qWZaB2CaT6aWXX6576WXNS1/TfePVt0783NF5x3p14vu+ByRBvIfE5bd6wj/x3e7oHYaE0kvJjGK5XPdC26EIUAQIAiuw+sVSIgJmoBkLfNpv+OZ3NC99TfPS17795n87dXnw7Q/7jnSOveVP/fO//u5I5xiR0p13fAMTcYEkks62BFoxun1Fv4EUgY1BYAVWq+1M0mXF3FuU5Sfz8x91B43mN//hXefbH/a9/WGf2hS0+cOBtmvDTPgBxCfKDh4pnT1ESxQBikA5EViJ1Xl9EV23IngnF+W7E0+srp6WnwUwfPc7HdzxKxNWT/j0J6Pq2N1KLBOccmfFdl7z9ABFgCKwXgRKYLWkBAzL/AVW89LiME8iH/zEd/uYn7V5oxBF0OoJv+cZbPlZ4OpnaR8spPJ6R0qvpwhQBEpDoBRWpy1MZCktpUl8ooknHb3Dxz237D5CaauPA5vQtz/se+vEz7/Z2PxT12WOn6Ia79KeAq1FESgnAhqUpemCKJpMJshZSTLyqHRaUCHxXLqbENpvkgBj6IAFgYqsnvBbJ37+V9/6uz/9s6/r9+33er2//f0TcpXiYl3OUdO2KAI1jQDYdK2ZOEVktZJZWp1nCyidlBa6x561XRtWfCrDGEgQgoS2uvuN5jfJdteOuroddfp9+wPd3YIg1DT+9OYoAhuCwMzsXE67pVNpKasl4kdJZLXyikaj4KQliiLE+r0eExzMMMmw4SPBxo52pDPRog+W5Uf/Xae80sTW7w0EAvnjyxku/UgRoAgsg8BqhbaK1cpk+8XctPlbf/1VjearGg3KakGWuUmRiTwmUtpNMmyAARnYmbQxEVB3T0vyb3//pK3tlMFggN8FrVZ78NDhUCi02mEtc4f0FEWg5hFAl6q13SmyGl2js6wGWT0tybHJed/AxEkfMf/MWoP6SWBQ58cTPTESzESU5ZnZOVEUOY6z2+16/V4lCab2gOEVhmGouF7b46FXbU8EyOxYEHieRxeMVeGgYrViXpIjqyEcv7uPU3Rj6YV0UxfJVnn8ykR7X+LTByShNElVmTEvAWJbLBa9fu8BwytOp5PjOCqrV/VUaOVtjoAoislkkmGYaDTK8/xq0SjAapPJBKvi2+wX/ePT53rHId4YrqWJuO4It/cl7jz6Y8ZhQ1Ly1aZ3skRRjEajFovF5XJBxrzVDovWpwhscwQEQQgEAo2NjSAXeZ4vXTRmWK2StITVL738p3/29Y+6idUnBBtDt0pQd0NC6clFkjErY+UN+XZwg4xMxQVBgCnENn9C9PYpAmtAIJlM2mw2/b79Bw8ddjqdPM+XuJLNsBpWxQpF/+Y739V97RDEJ/rBhcgPr6aaurgfXIi0+kesnrCj886NL3hwk1YZmaTJrHbiWMNt0EsoAhQBNQIcxzU0NIDuWa/f63Q6S9nKTrMaSclLi99sbP57y/9o+VkAdGPErbJzzOKP2X3sWWa4ZzAJujF137RMEaAIlBEBoC7sKw9+PoCL4j26PQcPHYaFrSAIWC2n66yshqQ5cUE65uwiIcfcdyz+GAQnsl4lDhstPwucZT67zX4RuTcUpS+KAEWgIgiEQqG2tlOg6kL7roaGBqfTCbq0fG5nWS3KJLP03Yknjou/ar0UaunIhihqcd9pPHH+P33P+jff+e7ffOe7ZrP5e6/+Lb7N9EURoAhsJAJGo1HN6roddVqtVr9vP3I7R5G2hNVP5udTU+IxZ9fbH/a1uO/YvNFjfvbtD/v+ofX//OW3v/8nf/H1upfS1qBgpoJ/wW48/RcWAfQvRYAisD4ESPww5aVuRqvV4kedTgfEztGiZVkNkbinJfkfm1uP/NRL8sV7QsTR0tl1+J/e/qtv/d1ffevvDh46bDQaDx8kb/qiCFAENhQBoJvJZNLv269mskajIbJav9dsNns8nmQymROzKMvqqadkQ0wUxZ+6Lv/UdbmNiTgu/upf2DGOn3oyPw/vmdm5Fd8CfVEEKALlQ4Dn+UAgACF963bUQXhfk8nEMEyxvS5gNarASUGQxCfz8+FJ8ualRfW5HFUb/UgRoAhsHAJggs2yrMlk0mq1dTvqdDqdyWTyer3LG3dlZXXO4CBRDo1FlAML/UgRqBgCM7NzYKO5a2daN+bxeFiWXWZPC8b2/wP5unmcA83P/gAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "id": "261d4491",
   "metadata": {},
   "source": [
    "## 一次函数\n",
    "\n",
    "一次函数就是最简单的“线性模型”，其直线方程表达式为y = kx + b，其中 k 表示斜率，b 表示截距，x 为自变量，y 表示因变量。在机器学习中斜率 k 通常用 w 表示，也就是权重系数，因此“线性方程”通过控制 w 与 b 来实现“直线”与数据点最大程度的“拟合”。\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "60a5bd51",
   "metadata": {},
   "source": [
    "## 构建线性模型\n",
    "\n",
    "在线性回归问题中数据样本会呈现“线性”分布的态势，因此我们使用“线性方程”来最大程度的“拟合数据”。线性方程预测的结果具有连续性，下面通过示例简单说明：小亮今年 8 岁，去年 7 岁，前年 6 岁，那么他明年几岁呢？估计你闭着眼都能想到答案，但是我们要从机器学习的角度去看待这个问题。\n",
    "\n",
    "对于机器学习而言，最关键的就是“学习”，在大量的数据中，通过不断优化参数，找到一条最佳的拟合“直线”，最终预测出一个理想的结果。"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "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"
    },
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHYAAAATCAIAAADK/G6vAAAE00lEQVRYCe1Yz2crXxTv/3QYXURWo2YRNYsaDRXSxd01KiqqZYiaRdQsRmVxF6EVLRVCZBEVKV2MKMOIiFERVVUVFTW0IoTzvN7nZt7k1/T7Em353tWZ8/t+3HvOubOCP2SlUinDMCilyWRyf3+fUqp+rO+f/sr3TxER2+22YRgsVUmSLi8vEfHt7S2VSn3//H8GxLlc7v39HREfHh4AoNPpMGSz2ez/EC8GgaenJ+aoVCqJosjo4XDY7XYXE2BxXp6fny3Lenh44C5X6vU6IUQQBAAIhUK6rnNZoVCAjxWJRAqFAud/IaFp2uHh4YwEDMNYW1tjacuybNs2IhqGwTjhcDidTs8w/0eRbduyLANAJpPhrv4UCkopAFBKuYARGxsb5XLZx/zCT0VRSqXS3ARisRgAtNttpum6riRJlUplOBzOtZ2m0Ov1pom8fMdxAKBarXLmH4gfHx8BIBqNcgEiaprmVfWKvoR2XRcAvHdwWhrs/rGjNBgMCCH1en2ackD+7u5uEE0W2nVdrjxqd1tbW94NnJ+fn5yccL3vQNRqNUmSgmTiuq4gCOFwuN/vJ5PJhVS5nZ2dIKEPDw9lWfZqjiDO5/MAkMvlENE0zZ2dnX+5Vt4Ys+l+v5/L5TRN473r9fXVNE1EfH9/Pz4+7na7rVaLUppOpwkhmUym2WzO9omIe3t7AKAoykLwRcSAEEuSlE6n2fx+fX2NiCOIe70ey6nRaGxtbb29vc3dhleh2+1a89ZgMPCaMFrX9U6nk0gkVFVlHFVVt7e3EbFer0/sEONOxjk3NzcAsLm5OS76b5wgEN/f3wNAJBKp1Wq9Xk+SJMuyRhAjIiEEANbX1/mQxLOxbXt2vbdtm85bLy8v3CEjHMfJZrPD4VAURf648NKEkHw+77MK8mmaJpsixvfCzJvNJr83QRwGgZgVYj62E0JSqdRfEOu6DgA3NzfekIVCwTCM1dXVu7s7L38h9MvLi+u6DI5Wq4WInU4HAFihQMRsNmtZ1mdjNZvNWCx2cnIy8RIUi0W2IxZxovNms+k7MLIs+zjPz88+W1VVvYVYluXt7e2/ICaEhEKhiSU4HA4vA2KWoqZpvI+dn58LgsDecoiYSqUmlhff3ryf7XZbluVut8uaXiQS8Uo5LYriDIh7vZ6v7MViMR+n3+9zb4yQZfno6IjRrPBqmjaCeDgcrq6uJhIJnxn7nAvx1dUVmbem3dloNOotxIqisKCDweCzfyE6nY6iKHywOzg4AICJE9tsiMdBCFIoQqEQ766VSoWVhBHEtm0DwNnZ2bh3RJwL8USrgExZlvmrMh6PE0KY4cXFxUR0prl9enpSFIWXQkS0LAsAJj4IlwHx5uYmf6nxjfyG2HEcSinrdclkks1tvm0sFeLT09NIJGKapq7rrFhVq9VyuTz+2vRlxT8LhcLBwUHoY/Hnn+M47BQLgqDrOq/vzEoUxSDDHw8R5BRXKpV4PG5Zlqqq8XicPUB+Q+ybtxqNBvfLiXA47DgO/1w4YZompZSd2dvbW0rpp7pcq9XihZKfYt++OJ8lvwyI2XnN5/PX19e8pY0KxWzUlg3x7OjLkIqiOPEwTYsV/Er5PMyH2LKsbDYrCEI6neZ30OflZ31alkUpFQRBVdVisbjs5H8BfP0HfkrRJeAAAAAASUVORK5CYII="
    }
   },
   "cell_type": "markdown",
   "id": "5df25273",
   "metadata": {},
   "source": [
    "## 假设函数\n",
    "\n",
    "假设函数是用来预测结果的。前面讲述时为了让大家更容易理解“线性回归”，我们以“直线方程”进行了类比讲解，然而线性方程并不等同于“直线方程”，线性方程描绘的是多维空间内的一条“直线”，并且每一个样本都会以向量数组的形式输入到函数中，因此假设函数也会发生一些许变化，函数表达式如下所示：\n",
    "![image.png](attachment:image.png)\n",
    "其实它和 Y=wX + b 是类似的，只不过我们这个标量公式换成了向量的形式。如果你已经学习了 《NumPy 教程》，那么这个公司很好理解，Y1仍然代表预测结果， X1表示数据样本， b表示用来调整预测结果的“偏差度量值”，而wT表示权值系数的转置。矩阵相乘法是一个求两个向量点积的过程，也就是按位相乘，然后求和，如下所示：\n",
    "![image-2.png](attachment:image-2.png)\n",
    "转置操作的目的是为了保证第一个矩阵的列数（column）和第二个矩阵的行数（row）相同，只有这样才能做矩阵乘法运算。"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAAoCAIAAADfZVsNAAAEr0lEQVRoBe1ZsWvqXBTv/3QguERIh1AcRCgUAkXEIZODlAylCNLBwaEEKRkcHBwcgmQIpYiUFEqRZgiIBXkUEREpIkXEIUNwuA+85XibWD+/V80rX78zyLm/c+4595dz783N9YD850RV1dRSHMdhyR2wDapblhUEvyEym81arZZvYLWlEEIajUYkEplMJujgp2oYRrVaJYS4rusw8uvXL+zz9vaGltFohPhOFM/zMLjjOJ1OB8PO53M0DQYDQkgul2u32+hACCmVSplMhiIA8PDwgNYPVLvdbjKZpLZ+v69pWiwWA4CTkxNd17GP4zg8z0cikVwud39/j/hOlMlkUi6XE4kEAMTj8UqlgmF7vZ4oihzHKYpimiYhxPO8VCo1Ho/RB5XhcAgAw+EQkQ9U0+m07yFZlgUAFxcX2IEWPJlMsnVmrTvRu90uAMiyzEZbLBayLNu2zYKGYeRyORahuqIo19fXLL6i6jjOyckJayOELBYLfime56Hp7OxsrzxpIjqh5vM55r28vHx6esImVTzPi0ajvnVkGEa5XPZ5rqgWCoVisegzE0Ly+Tw76YvFou+5BrvsBNE0DQBw4VQqldvb27WRZVmu1WpoajQadFnZS0F8RVWSJMMw0IBKq9UCADpJVFWliwSt+1NGoxHO4VqtFqwSptY0TVEU2my327FYTF5KIpFYv1Y5jgvu3bS/IAg8z5umqaoqJghBkSQJAJrN5vn5+YZ0pmnG43HqYFlWmRG213tV5/M5AHS7XdaGerFYBADcxBGfTCbVarXX6yGyW6VarQKAJEnsThFMYVlWNBoN4j7knepkMgGAl5cXn5k2S6VS0Grbtq7roij6Nm1fBNgoazdPjKDrOrtNIO5T6BLzgcHmO1XXdTdUNZlM8jwf7EwIicVim6mu7bUlqCgKALiuu9m/2WxyHLfZhxCy2pYikcjatep53trZS0PvlaogCMH3X5CSruu4VoNWRFZUT09P2S0bPR4fHwGAPbWgaa9V7fV6AFAoFNh0a3VVVbPZ7FoTC66oqqrqWzmdTofu2vjL9qT6Pqo6Go0wI1Wm02kwNSKpVOqzSqDPhwncbrdFUWRt2+j7oLpNXvSZTqccx7HvTzT5lFVVCSHpdLrZbPo8NjdFUfR9Fm7237m1XC77JuNnKT5QHQwG8Xj8H3c8GqvT6eC7eu0x67OUO8Rns9nR0dHr6+s2MT9QJYRYlrX5aLJN0NB8stns9q86P1VCSL/fXywWoQ33jxO5rvuvDmprqP5x7m/e8SdRNX+MHCg/Rn7SBP7me8kOh/d/VXf4ML9NqFCratu2oijpdDqRSFxdXW15At3VswqPar/fl2WZnsMGg4EgCL4b7V1R+ixOeFQrlUokEmk0GnQoqqoCwNp7j8/G+kU8PKqGYQAAXiPT5jaf1F9kiN3Do0oIYf8CpJf3d3d3OJR9K6FSRTKe58WWEuYn1N+hms/n4/H4Nrck+HS+rvwFqqZpSpLE/sX2dRrbRAibqm3bmUyG8hyPx2HeS4VK1bZtTdOwAvV6/ebmBpv7VsKjOhwOeZ4XBCGVSh0fHx8eHgLA8/Pzvhli/PCo1ut130W2LMthrtjf2w3nH7z6btoAAAAASUVORK5CYII="
    },
    "image-3.png": {
     "image/png": "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"
    },
    "image-4.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAANQAAAAoCAIAAAAJ7EMtAAAKO0lEQVR4Ae1c32crTxs//9OwIo61oiViHVEVR6yIXuxFxYqvlYuoEL2IiqhYe7EXEXGsyEVUHVVRtapyOCxRERGxKioiVkVUxMrFvNo577xj86PbNv22Oe/ORT37zPM8M/PsJzPPPDPbL9Atz3ng5uYmGAwqiiLLMgAgmUwqisLz/NHR0XOqbj2cTCbpdJrjOJ7nW60W6ZEv5MNG0MpLSrPZXDioy8vLhfyFTEVRBoMBhLDZbAIATNOEEHY6nUqlslD+/5ZpGEa73bYNP5fLaZoGISyVSgzDPDw8YIHNAx/HcQCARCKhE+X6+vr8/LxSqSiKIooiz/NerxcAIAgCHiomUqlUo9HAj88SpVIJyRQKhd3dXUT/fio23VarRXRKR7Xtdhszb29vbSprfJxMJrquXz2VNZo1TRP3X9d1wzCw8X6/j6sGg8FsNhMEod/vYwEIYTKZPDw8hBAOBgMAwM3NDa7dPPD1+32apimKIoeBx4OJ0WiUzWYpirq/v8dMCGGxWDw+PiY5zmlBELLZ7Ap5RVH29/fBUzk4OBiNRhDCfD4PAPB6vYlE4uLiYoX6G6u63W46nQYArO7kS1vRdT2bzTIMAwCIRqPkEDRN83g8NE2nUqlfv35BCE3T5DhuMpnMt9JoNAAAyCeodvPAByHUNA0AwLLswkGSw1ZVtVgsYs54PA4EAs9qYXkbQdM0WkFsfNuj3+/3er3T6RTxNU2LxWLkcmOTd/L4+/dvJ2IoMLi6unIi/CIZRVEAAIqikFrD4ZDjuLu7O5KZy+UKhQLJQTTP86qqkvyNBB+E8PDwEAAgiiI5mIW0JEmYL8vyq2eFRqNBURSGFLY5TxQKBQAAigjb7fb+/r5lWfNiL+IsjB/mLZRKJYqiXv3rmjeIOXd3dwCAUCiEOZZlxWIxG/IghL1ej2EYm6MURalWq1gXEZsKPsuydnZ2AADzQ7KNkHz89u3bi7YapK4sy6TrySobfX9/T1FUMBg0DCMWi9leg03Y4WMsFnMiKQgCx3FOJF8hE4lEAAC9Xg/pJpPJ+e0FqvL5fNfX17iJcrms648R8Pn5OamyqeCDEBqG4X0q2B14tAuJ0WgEALD9Umu1WjweF0URzxaqqqLwpVAoBAIBFKMMBgOO4xKJhMM5TBRFAMD379/fuNrigTgEH03TsVgsk8ns7e0lk8nxeIwtvJ0ol8to5Z3NZslkEnlpoVlRFPP5PKqq1Wosy/JPhWVZ0iEbDD4IYbVaRWuBE0zoug4AIJ3V7XYLhQICJQrmptMpRVFoNlVVFQDQarXOzs7I9A5KtZB25ularQYA+Oeff+arXsdxAr5WqwUA2NvbQ3Mtx3G5XO51zS3UwjN6sVgsl8sLZRBTkiTc4ZOTE+w9Mv6GEG42+CCEgiAAADKZzApfoKparUbTNCmWTqdHo9HZ2RkAAGXyrq+vyZXF9ksldVfQlmXxPO/3+z0eD/lDxyq9Xi+fzy+swjI2Ar9LG598LBaL5HYyFoutfQlGe3mUOiGbttGFQsFJ0xsPvtFoFAgEvF7vs0vM6empz+ezuQnBNxKJIH4ul9va2sIymI85TohUKtXtdtFxyHxIWqvVKpUKiZJ5m9VqFa1T+C/DMJhGRKfTsSkKghAOhzEzEAjMIwA1jZJBC/+uzpyLouhkQ6OqKsuyuCfLiI0HH4QwlUrV6/VlI8T8y8tL28wHIZxOpx6PBy8HoVAolUohlX6/j2ls5Fkil8uhY5VerwcACAaD8yqTyWQ1+OZVnMx8W1tb+MSv3+8DANLp9Lypt3AYhnGy61IUZWdn59mGNh58qqrakk/LxqzrOkVRtloUJ6G92Gw2oygK56IURUF8m8qKR0mSarUaFuB5HgAwnxp8J/D5fD480SqK4vF4yNMI3KtXE51Ox2GEk81m9/f3n21os8GnaZqTVB/yAtpY2N4HOvNBGze0S0CHaQ8PD07cR/o3n89Ho1GSg6LJeTvvBL5YLIZ+h7e3tzRNn5yckJ15O/3jxw8AAHnCscxmPB53stfZYPA1m81wOIxTJMscQcZGoVDo58+fNslMJkPTdOapXFxccBwnSRLP8w7PYafTqd/vD4fDKBQ7Pz9H9m1xG5lffCfwdTqdUCiEOj8/3dpG/aLHWq1GRpzJZHK1Ok3T5AqwTPgRfMPhMJ1O8zyPczPLpD8P/+7uLhgMDofD1V0yDIOM2xRFedZxqw2upfadwLeWvr3diK7rNE07Sa0/gm88HqMUg5OExds793YLDw8PoVCIzJUvtDkcDlmWJVPt4/GYYZhnIbvQ2hqZKABwki/EjTpMpGP5DyREUXQYhf9ZdtGB9Hrn6vcbfzweJyFla2g0GrVaLVmW6adiqz09PXUeJtp01/KoaRpOujqJn9bS6L9mpNvtsizrJOf/vyQziiVflPb818Zja0iSpPmkF8/zHMexLEtRFJm+WpgOPTo6wrtCm3H38S0esCxrb2/Pdp9vhcE/M58oivMJScuyWq1Wt9ud17csiwzkSQHDMN4VxPj2ohNi2dK2rPPkQFz6pR4wTdN2dL7awh/wMQxD7jam02k+n2dZ9ujoKBqN8jxP3gHMZrPJZFKWZUEQyCvBuq4LgpDL5Y6eyuqG3VrXA4/gQ8lD8pAgGo0Gg0EMuHA4jHPl1WoVzZGz2Wx7exuHltPplKZptAmQZdnv9887dzwekzv2hTR5/W7egsv5mzzwCD5VVSmKwkEiSo2SEf3+/j4+qkM3qjVNG41GFxcXWMswDABAPp/v/res102maZ665e/ywCP4BEEgT9AjkUggECChEwgEcJq+0Wj4fD4U1NtmKXSahA40lwVbpNkX0aZpim75uzzwZTabff36FQV8CDEURZHJCDSl4UMn0zSn02m9Xkf3WvHeAp0HtNttSZIoisJH9STCLMvCWYZlhJPMOGnTpTfXA19Qhq9er5+enqIXv729TX7oIIri7u7ubDaDEAafChpts9nEn8mge5f4I5dwOLzsZs6zW9QNyqZu7lv/JD3/0m63AQCdTicej6NpTJZlfP9bkiSWZTEgWJbFGbKDgwNZltEwSqVSJBJB8Z+u606+K/sk43e78YEeeIz5crkcz/Pk9aHj42Oe59E5CXlybxiGIAg8zwuCQF6asCwLGUEHxOhW8AeOym16IzzwCD63uB74EA+44PsQt7uNPnrABZ+Lgw/zgAu+D3O927ALvo/HwGw2S6fTgiAkk8ler3d4eCjLciKR2JQbbq/2oAu+V7tubYqapqmqenl5CQDgOA5lrCRJ2t7eXlsbn9KQC76Pfy3lcnk0GsmyzDAMvgyXzWbxefrHd/F9euCC7338+nKrkUgkHo9jvWAwSH59gvl/E+GC71O8TfRJEf4XqOhrYvJi0afo5bo74YJv3R59lb16vY7+KRHSRp8KQAgrlcqyfyv9qnY+l5ILvk/xPvL5PMMwuCuxWEwURdM0bV+hY4G/g3DB9yneYyaTIS9HXl1dhUIhlHn5FP17n078B8+HEseZ1WO6AAAAAElFTkSuQmCC"
    },
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "e8afc244",
   "metadata": {},
   "source": [
    "## 损失函数\n",
    "\n",
    "我们知道，在线性回归模型中数据样本散落在线性方程的周围，如下图所示：\n",
    "![image.png](attachment:image.png)\n",
    "损失函数就像一个衡量尺，这个函数的返回值越大就表示预测结果与真实值偏差越大。其实计算单个样本的误差值非常简单，只需用预测值减去真实值即可。\n",
    "在线性方程中，要更加复杂、严谨一些，因此我们采用数学中的“均方误差”公式来计算单样本误差：\n",
    "![image-2.png](attachment:image-2.png)\n",
    "公式是求“距离”因此要使用平方来消除负数，分母 2 代表样本的数量，这样就求得单样本误差值。当我们知道了单样本误差，那么总样本误差就非常好计算了：\n",
    "![image-3.png](attachment:image-3.png)\n",
    "最后，将假设函数带入上述损失函数就会得到一个关于 w 与 b 的损失函数（loss），如下所示：\n",
    "![image-4.png](attachment:image-4.png)\n",
    "在机器学习中使用损失函数的目的，是为了使用“优化方法”来求得最小的损失值，这样才能使预测值最逼近真实值。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09a31e53",
   "metadata": {},
   "source": [
    "## 优化过程\n",
    "\n",
    "导数：从几何意义上来讲，你可以把它理解为该函数曲线在一点上的切线斜率。\n",
    "\n",
    "偏导数：偏导数是指对含有两个自变量的函数中的一个自变量求导，也就是说偏导数要求函数必须具备两个自变量。\n",
    "\n",
    "剃度下降：主要用来解决求极小值的问题，某个函数在某点的梯度指向该函数取得最大值的方向，那么它的反反向自然就是取得最小值的方向。在解决线性回归和 Logistic（逻辑） 回归问题时，梯度下降方法有着广泛的应用。表示函数在某一点处的方向导数上沿着特定的方向取得最大值，即函数在该点处沿着该方向变化最快，变化率最大。梯度下降法的计算过程就是沿梯度方向求解极小值，当然你也可以沿梯度上升的方向求解极大值。\n",
    "\n",
    "梯度下降作为一种优化方法，其目的是要使得损失值最小。因此“梯度下降”就需要控制损失函数的w和b参数来找到最小值。比如控制 w 就会得到如下方法：\n",
    "\n",
    "w新=w旧 - 学习率 * 损失值\n",
    "\n",
    "学习率”是一个由外部输入的参数，被称为“超参数”，可以形象地把它理解为下山时走的“步长”大小，想要 w 多调整一点，就把学习率调高一点。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "936360be",
   "metadata": {},
   "source": [
    "## 利用sklearn实现线性回归算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "dd087179",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[14.]\n",
      " [17.]\n",
      " [20.]]\n",
      "w值为: [[3.]]\n",
      "b截距值为: [2.]\n"
     ]
    },
    {
     "data": {
      "image/png": "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yBDdd999SkhI0C233KIFCxZc8Zim5uKFCxe0a9cuvzERERHKzMwM2nkMuX8s11zLli3T7t279dFHHzVrfEVFhXr16uW3rVevXqqoqPDtv7ytsTG2BdrjNz399NNKTk72+wPKysrS+PHj1adPHx05ckTPPvussrOztW3bNnXq1ClYpTdLoP3169dPCxcu1M033yyPx6N58+bp9ttv1yeffKLevXuH3DlszfnbsWOHSktL9dprr/ltD6XzN2zYMBUVFalfv34qLy/X7Nmz9b3vfU+lpaWKjY2tNz4c52CgPX5TqM/BQPsLtznYmvMXDnNQko4ePar58+crLy9Pzz77rD766CM99thjio6OVm5uboPHNDYXvV6vvvzyS50/f16XLl1qcMynn34anMKDcv3EsmPHjpmEhATz73//27etqUvaUVFRZsmSJX7bCgsLTUJCgjHGmPfff99IMqdOnfIbc99995n7778/eMU3U0t6/LqCggLTvXt3v+MbcuTIESPJbNy4sTXlBqy1/RljzIULF8y1115rfvGLXxhjQusctra/KVOmmJtuuqnJce11/hpy/vx5ExcXZ/785z83uD/c5mBDmurx60J9DjYkkP6MCe052JBA+guXORgVFWWGDx/ut+3RRx81t912W6PHXH/99eZ///d//batXbvWSDJffPGFOXnypJFkPvjgA78xM2fONEOHDg1K3WF522XXrl06c+aMBg0apMjISEVGRmrLli166aWXFBkZqUuXLtU7JjExUadPn/bbdvr0aSUmJvr2X97W2BibWtLjZfPmzdOcOXO0YcOGJh9y7Nu3r3r06KHDhw8Hu4Urak1/l0VFRemWW27x1R5K57A1/VVXV2vZsmV6+OGHm3yf9jp/DenWrZtuuOGGRmsJtznYkKZ6vCwc5mBDmtvfZaE8BxvS3P7CaQ4mJSUpLS3Nb9uNN954xdtLjc3FuLg4de7cWT169FCnTp3a9DyGZfi4++67tXfvXpWUlPiWIUOG6MEHH1RJSUmDl76GDx+uTZs2+W17++23NXz4cElSnz59lJiY6DfG6/Xqww8/9I2xqSU9Sl89af78889r3bp1GjJkSJPvc+LECZ09e1ZJSUnBbuGKWtrf1126dEl79+711R5K57A1/S1fvly1tbV66KGHmnyf9jp/DamqqtKRI0carSXc5mBDmupRCp852JDm9Pd1oTwHG9Lc/sJpDt5xxx06cOCA37aDBw8qNTW10WOamovR0dEaPHiw35i6ujpt2rQpeOcxKNdPQsA3L2lPmjTJPPPMM771999/30RGRpp58+aZ/fv3m/z8fBMVFWX27t3rGzNnzhzTrVs3s2rVKrNnzx4zduxY06dPH/Pll1/abKVRTfU4Z84cEx0dbf7+97+b8vJy31JZWWmM+eqbFz//+c/Ntm3bTFlZmdm4caMZNGiQuf76601NTY3tduppqr/Zs2eb9evXmyNHjphdu3aZBx54wMTExJhPPvnENyaUz2FT/V02YsQIM2HChHrbQ+38Pfnkk6a4uNiUlZWZ999/32RmZpoePXqYM2fOGGM6xhwMtMdwm4OB9hduczDQ/i4LlzlojDE7duwwkZGR5te//rU5dOiQ+etf/2q6dOliFi9e7BvzzDPPmEmTJvnWjx49arp06WJmzpxp9u/fbwoLC02nTp3MunXrfGOWLVtmnE6nKSoqMvv27TNTpkwx3bp1MxUVFUGpu8OGj5EjR5rc3Fy/MX/729/MDTfcYKKjo82AAQPM2rVr/fbX1dWZ5557zvTq1cs4nU5z9913mwMHDliovnma6jE1NdVIqrfk5+cbY4z54osvzKhRo0zPnj1NVFSUSU1NNT/5yU+C9sfUWk31N2PGDJOSkmKio6NNr169zA9+8AOze/duv9cI5XPYnL/RTz/91EgyGzZsqHd8qJ2/CRMmmKSkJBMdHW2uvvpqM2HCBHP48GHf/o4wBwPtMdzmYKD9hdscbMnfaDjNwcvWrFljBg4caJxOp+nfv7/505/+5Lc/NzfXjBw50m/b5s2bzXe/+10THR1t+vbta15//fV6r/vyyy/7zvfQoUPN9u3bg1azwxhjgnMNBQAAoGlh+cwHAAAIX4QPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVv0/xQIhgb5xi2IAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用matplotlib绘制图像，使用numpy准备数据集\n",
    "import  matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import linear_model\n",
    "\n",
    "#准备自变量x，生成数据集，3到6的区间均分间隔30份数\n",
    "x = np.linspace(3,6, 40)\n",
    "\n",
    "#准备因变量y，这一个关于x的假设函数\n",
    "y = 3 * x + 2\n",
    "\n",
    "\n",
    "#由于fit 需要传入二维矩阵数据，因此需要处理x，y的数据格式,将每个样本信息单独作为矩阵的一行\n",
    "x=[[i] for i in x]\n",
    "y=[[i] for i in y]\n",
    "\n",
    "# print(x.shape)\n",
    "# print(y.shape)\n",
    "\n",
    "# 构建线性回归模型\n",
    "model=linear_model.LinearRegression()\n",
    "\n",
    "# 训练模型，\"喂入\"数据\n",
    "model.fit(x,y)\n",
    "\n",
    "# 准备测试数据 x_，这里准备了三组，如下：\n",
    "x_=[[4],[5],[6]]\n",
    "\n",
    "# 打印预测结果\n",
    "y_=model.predict(x_)\n",
    "print(y_)\n",
    "\n",
    "#查看w和b的\n",
    "print(\"w值为:\",model.coef_)\n",
    "print(\"b截距值为:\",model.intercept_)\n",
    "\n",
    "#数据集绘制,散点图，图像满足函假设函数图像\n",
    "plt.scatter(x_,y_)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "46127cdb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 11.],\n",
       "       [269.]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.predict([[3],[89]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "ebc6f1ac",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[12.99111307]\n",
      " [15.54785506]\n",
      " [18.10459705]]\n",
      "w值为: [[2.55674199]]\n",
      "b截距值为: [2.76414513]\n"
     ]
    },
    {
     "data": {
      "image/png": "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GTG62UtmAdI302OJYijkaZdgP77CQ5JSU1M1Y8YMHThwQIcOHdLrr78e8jqHSPHNe1X2x+yS+S9GNOa9LrzwQr344ov6+OOPtXHjRo0YMUKJiYkhfca4ceNUWFiooUOHat26ddqyZYtefPHFgNRZAEB0WS3UyycxwaWsdo11RecTldWucUwKD8mmD5arKSvNe02aNEm9evXSgAEDdNlll+nKK69Uu3btQvqMxo0ba9myZSoqKlKvXr101llnafbs2YyCAEAMVbW5QTI3N0Q6X8rKXEbFhQcxVlhYKLfbrYKCAqWlpfm1FRcXKz8/X23btq3VI+CtNhQWK+H68wQA/GbVtv0aNnt1lce99KceymrXOAo9io7j3b8risuYTSvNewEAnMVKmxusKi6LD+m3eS8AAMLJSpsbrCqu1nwAABBpVtrcYFUUHwAAhJGVNjdYFcUHAMCyov0E8nDxhXp53P5TKx53qmYO7xpXmxuCids1HwAAa7P7zkQ2N1SO4gMAYDm+kK6K4xy+kC67jB6wuSE4pl0AAJZCSJfzUXwAACzFjk8gR2goPqJk5MiRcrlccrlcqlOnjpo1a6a+ffvq2WefLX9KbXXMmTNHjRo1ilxHASDGCOlyPoqPKOrfv792796tH374Qe+884769Omj2267TQMGDNDRo0dj3T0AsARCupzP3gtOvV5p//7Y9qFxYymhejVcSkpK+RN+TzzxRHXt2lU9evTQRRddpDlz5ujGG2/Uo48+queee07ff/+90tPTNXDgQD388MNq0KCBVqxYoRtuuEGS5HKZq6UnT56se+65Ry+++KKmTZumzZs3q379+rrwwgv1+OOPq2nTppE5bwCIEF9I156C4qDrPlwyt6zGc0iX3dm7+Ni/X4r1zXXfPqlJkxq//cILL1SnTp30+uuv68Ybb1RCQoKmT5+utm3b6vvvv9ctt9yiO++8U08++aTOPfdcPf744/p//+//afPmzZKkBg0aSJJKS0t1//3369RTT9W+ffs0ceJEjRw5Um+//XZYThMAosUX0jVmbq5ckl8BEq2QrjKvwRbZCLJ38eEQp512mjZs2CBJmjBhQvnrbdq00QMPPKDRo0frySefVHJystxut1wuV/kIis+oUaPK//mkk07S9OnTdfbZZ6uoqKi8QAEAu/CFdFXM+fBEIefD7vkidkDxYQGGYZRP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kiXq1q2bBg8erKZNm6pLly6aPXv2cd/jlOtek3P36dy5szIyMtS3b199+umnEe5p5Fi++Ni4caMaNGiglJQUjR49WosWLVJmZmbQY/fs2aNmzZr5vdasWTPbzomFcu6nnnqqnn32WS1evFhz586V1+vVueeeq59++inKva69BQsWKDc3V9nZ2dU63knXPdRzd8p17969u+bMmaOcnBzNnDlT+fn5Ov/883Xw4MGgxzvpmod67k655t9//71mzpyp9u3b691339WYMWN066236vnnn6/0PZVd98LCQv3666+R7nLY1OTcMzIyNGvWLL322mt67bXX1LJlS/Xu3Vu5ublR7HkYxXropSolJSXGli1bjHXr1hl33323ccIJJxhfffVV0GPr1KljzJ8/3++1GTNmGE2bNo1GV8MulHOv6MiRI0a7du2Mv//97xHuZXht377daNq0qfHll1+Wv1bV1INTrntNzr0iu173in7++WcjLS2t0mlGp1zzYKo694rses3r1KljZGVl+b02fvx4o0ePHpW+p3379saDDz7o99pbb71lSDIOHz4ckX5GQk3OPZgLLrjAGD58eDi7FjWWH/lITk7WySefrLPOOkvZ2dnq1KmTpk2bFvRYj8ejvXv3+r22d+9eeTyeaHQ17EI594rq1KmjLl26aOvWrRHuZXitX79e+/btU9euXZWUlKSkpCStXLlS06dPV1JSksrKygLe45TrXpNzr8iu172iRo0a6ZRTTqn0PJxyzYOp6twrsus1z8jICBjJPf3004875VTZdU9LS1PdunUj0s9IqMm5B3POOefY7rr7WL74qMjr9aqkpCRoW1ZWlj788EO/195///3jrpOwk+Ode0VlZWXauHGjMjIyItyr8Lrooou0ceNG5eXllf9069ZN1157rfLy8pSYmBjwHqdc95qce0V2ve4VFRUVadu2bZWeh1OueTBVnXtFdr3m5513nt+OHUn67rvv1Lp160rf45TrXpNzDyYvL892171crIdejufuu+82Vq5caeTn5xsbNmww7r77bsPlchnvvfeeYRiGcd111xl33313+fGffvqpkZSUZEydOtX45ptvjMmTJxt16tQxNm7cGKtTqLFQz/3ee+813n33XWPbtm3G+vXrjaFDhxqpqanVnqaxsopTD06+7hVVde5Oue5//vOfjRUrVhj5+fnGp59+alx88cXGCSecYOzbt88wDGdf81DP3SnXfM2aNUZSUpLxz3/+09iyZYsxb948o169esbcuXPLj7n77ruN6667rvz377//3qhXr55xxx13GN98840xY8YMIzEx0cjJyYnFKdRYTc79scceM9544w1jy5YtxsaNG43bbrvNSEhIMD744INYnEKtWbr4GDVqlNG6dWsjOTnZaNKkiXHRRReV33wNw/wP84gRI/zes3DhQuOUU04xkpOTjTPOOMN46623otzr8Aj13CdMmGC0atXKSE5ONpo1a2ZceumlRm5ubgx6Hn4Vb8BOvu4VVXXuTrnuQ4YMMTIyMozk5GTjxBNPNIYMGWJs3bq1vN3J1zzUc3fKNTcMw1i6dKnRoUMHIyUlxTjttNOMp556yq99xIgRRq9evfxeW758udG5c2cjOTnZOOmkk4znnnsueh0Oo1DPfcqUKUa7du2M1NRUIz093ejdu7exbNmyKPc6fFyGYRixHn0BAADxw3ZrPgAAgL1RfAAAgKii+AAAAFFF8QEAAKKK4gMAAEQVxQcAAIgqig8AABBVFB8AACCqKD4AAEBUUXwAAICoovgAAABRRfEBAACi6v8D24rSThfZN0AAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用matplotlib绘制图像，使用numpy准备数据集\n",
    "import  matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import linear_model\n",
    "\n",
    "#准备自变量x，生成数据集，3到6的区间均分间隔30份数\n",
    "x = np.linspace(3,6,40)\n",
    "\n",
    "#准备因变量y，这一个关于x的假设函数\n",
    "y = 3 * x + 2\n",
    "\n",
    "x = x + np.random.rand(40)\n",
    "\n",
    "#由于fit 需要传入二维矩阵数据，因此需要处理x，y的数据格式,将每个样本信息单独作为矩阵的一行\n",
    "x=[[i] for i in x]\n",
    "y=[[i] for i in y]\n",
    "\n",
    "# print(x.shape)\n",
    "# print(y.shape)\n",
    "\n",
    "# 构建线性回归模型\n",
    "model=linear_model.LinearRegression()\n",
    "\n",
    "# 训练模型，\"喂入\"数据\n",
    "model.fit(x,y)\n",
    "\n",
    "# 准备测试数据 x_，这里准备了三组，如下：\n",
    "x_=[[4],[5],[6]]\n",
    "\n",
    "# 打印预测结果\n",
    "y_=model.predict(x_)\n",
    "print(y_)\n",
    "\n",
    "#查看w和b的\n",
    "print(\"w值为:\",model.coef_)\n",
    "print(\"b截距值为:\",model.intercept_)\n",
    "\n",
    "#数据集绘制,散点图，图像满足函假设函数图像\n",
    "plt.scatter(x,y)\n",
    "plt.plot(x_,y_,color=\"red\",linewidth=3.0,linestyle=\"-\")\n",
    "plt.legend([\"func\",\"Data\"],loc=0)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2603cdb4",
   "metadata": {},
   "source": [
    "model.fit()：将训练数据在模型中训练一定次数，返回loss和测量指标。\n",
    "\n",
    "model.fit(x, y, batch_size, epochs, verbose, validation_split, validation_data, validation_freq)\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
